REST HTTP请求方法一览表
REST API使您能够开发任何类型的Web应用程序,并具有所有可能的CRUD(创建、检索、更新、删除)操作。REST指南建议在对服务器的特定类型的调用上使用特定的HTTP方法。
让我们了解HTTP方法及其在HTTP客户端-服务器通信中的作用。
其它REST API使用的一些基本概念:
✅ REST API – Payload
✅ REST API – HTTP Status Codes
✅ 10大REST API常见问题?
HTTP GET方法
仅使用GET请求检索资源表示/信息,不得以任何方式修改。由于GET请求不会改变资源的状态,因此这些被称为安全方法。此外,GET API应该是幂等的,这意味着每次发出多个相同的请求都必须产生相同的结果,直到另一个API(POST或PUT)更改服务器上资源的状态。
如果成功接收地址(无错误),GET返回与HTTP状态代码200(OK)相结合的JSON或XML表示。如果出现错误,通常会返回代码404(未找到)或400(BAD REQUEST)。
GET请求URI的示例:
HTTP GET - http://www.usermanagement/api/users/me - 登录用户配置文件
HTTP GET - http://www.usermanagement/api/users/{username}/profile - 通过用户名获取用户配置文件
HTTP GET - http://www.usermanagement/api/users/{username}/posts - 获取用户创建的帖子
HTTP GET - http://www.usermanagement/api/users/{username}/albums - 获取用户创建的相册
http://www.usermanagement/api/users/checkUsernameAvailability - 检查用户名是否可用于注册
http://www.usermanagement/api/users/checkEmailAvailability - 检查电子邮件是否可用注册
HTTP POST方法
HTTP POST请求最常用于创建新资源。当严格按照REST的术语进行交谈时,POST方法用于在资源集合中创建新资源。
创建成功后,将返回HTTP代码201,创建资源的地址也会在“位置”标头中传输。
以下是HTTP POST请求的一些示例:
HTTP帖子 - http://www.domain/api/users - 创建用户
HTTP帖子 - http://www.domain/api/posts - 创建帖子
HTTP帖子 - http://www.domain/api/posts/{postId}/comments - 为帖子创建新评论,id = postId
HTTP PUT方法
使用PUT API主要用于更新现有资源(如果资源不存在,则API可能会决定是否创建新资源)。如果PUT API创建了新资源,原始服务器必须通过HTTP响应代码201(已创建)响应通知用户代理,如果现有资源被修改,则应发送200(OK)或204(无内容)响应代码,以指示请求成功完成。
以下是HTTP Put请求的一些示例:
HTTP PUT - http://www.domain/api/users/{username} - 更新用户
HTTP PUT - http://www.domain/api/posts/{id} - 按id更新帖子
HTTP PUT - http://www.domain/api/posts/{postId}/comments/{id} - 如果它属于带有id = postId的帖子,则通过id更新评论
POST和PUT API之间的区别可以在请求URI中观察到。POST请求是在资源集合上进行的,而PUT请求是在单个资源上进行的。
HTTP DELETE方法
使用DELETE API删除资源(由Request-URI标识)。
如果响应包括描述状态的实体,则DELETE请求的成功响应应该是HTTP响应代码200(OK),如果操作已排队,则为202(已接受),如果已执行操作但响应不包括实体,则应为204(无内容)。
以下是HTTP删除请求的一些示例:
删除 http://www.domain/api/users/{用户名} - 删除用户
删除 http://www.domain/api/posts/{id} - 删除帖子
删除 http://www.domain/api/posts/{postId}/comments/{id}-如果评论属于id = postId的帖子,则删除id评论
HTTP PATCH方法
HTTP PATCH请求是对资源进行部分更新。如果您看到PUT请求也修改了资源实体,因此为了更清楚,PATCH方法是部分更新现有资源的正确选择,并且仅当您要完全替换资源时才应使用PUT。
示例:
更新电子邮件的示例补丁请求将如下:
HTTP补丁/用户/1
[
{ “op”: “replace”, “path”: “/email”, “value”: “new.email@example.org” }
]
何时使用HTTP PUT和何时使用HTTP PATCH?
当客户端需要完全替换现有资源时,他们可以使用PUT。当他们进行部分更新时,他们可以使用HTTP PATCH。
例如,在更新资源的单个字段时,发送完整的资源表示可能很麻烦,并会使用大量不必要的带宽。在这种情况下,PATCH的语义更有意义。
这里需要考虑的另一个重要方面是幂等;PUT是幂等;PATCH可以,但不需要。因此,根据我们正在实施的操作的语义,我们也可以根据这个特征选择一个或另一个。
HTTP方法汇总
用于用户管理应用程序的REST API–以下五个用于用户资源的REST API: