在前面的三篇文章中,我们从 API 目标表格中,找到了 REST API 对应的资源、操作、参数、返回值和资源路径。本文将补充最后一块缺失的内容:HTTP 方法。
目录资源
当把自行车添加到目录资源时,我们使用用户提供的自行车信息,创建了一个新的自行车资源。在 HTTP 方法中,与创建操作对应的方法是 POST
. 用户提供的自行车信息,作为请求参数,放置在请求体(request body)中。添加操作成功后,返回新添加的自行车信息。目录资源表示为: /bikes
,添加操作的 HTTP 请求表示为:POST /bikes
.
自行车资源
在查询一个自行车资源 /bikes/{bikeId}
时,我们需要使用 HTTP 的 GET
方法。查询操作的 HTTP 请求表示为:GET /bikes/{bikeId}
.
注意:发起 GET /bikes/{bikeId}
请求时,必须提供路径参数 {bikeId}
的值,不需要在请求体中添加请求参数。如果没有提供路径参数的值,则访问的是集合资源 /bikes
. 路径参数的意义也在于此,他是资源路径的一部分。
常用 HTTP 方法
下面是一些常用的 HTTP 方法对应的操作。
HTTP 方法 | 操作 |
---|---|
POST | 创建、增加一个新资源。 |
GET | 查询资源。 |
PATCH/PUT | 更新/替换一个资源。 |
DELETE | 删除一个资源。 |
如果不能找到与 HTTP 方法匹配的操作,默认使用 POST 方法。
小结
HTTP 的 POST
, GET
, PUT
, PATCH
和 DELETE
方法基本上与增、删、改、查四个功能操作相对应。这些操作都是来自用户的视角,不是 API 的。例如,用户删除了自行车资源 DELETE \bikes\B123
,并不意味着你要物理删除相对应的自行车信息,而是可以逻辑删除,把自行车的状态设置为下架。