用大白话讲端点和 REST
一个**端点(endpoint)**就是菜单上的一道菜。它就是一个做某件具体事情的 URL。比如:
https://api.weather.com/forecast—— 获取一份天气预报https://api.weather.com/cities—— 列出可用的城市
同一个厨房,不同的菜。每个端点就是一项能力。
你会接触到的大多数 API,都遵循一种宽松的风格,叫 REST。你不需要学术定义,你只需要两个想法:
- URL 给一个东西命名(一个"资源")—— 一个用户、一个订单、一份天气预报。
- **动词说明你想拿它做什么。**这些动词就是 HTTP 方法,和"网络是怎么运作的"那章里讲的是同一批:
GET—— 读取某个东西(取一份天气预报)。安全;什么都不改变。POST—— 创建某个东西(下一个订单、注册一个用户)。PUT/PATCH—— 更新某个已经存在的东西。DELETE—— 删除某个东西。
所以 GET /orders/42 的意思是"读取 42 号订单",而 DELETE /orders/42 的意思是"删掉它"。同一个名词,不同的动词,效果完全不同。当你读 API 文档或一段 diff 时,那两个词——方法和 URL——就告诉了你一个请求所做的大部分事情。