PUT、POST、GET、DELETE 和 PATCH 在 HTTP 动词中的区别:
最常用的 HTTP 动词 POST、GET、PUT、DELETE 类似于数据库中的 CRUD(创建、读取、更新和删除)操作。我们在 capital 的情况下指定这些 HTTP 动词。所以,下面是它们之间的比较。
- 创建 - POST
- 读取 - 获取
- 更新 - PUT
- 删除 - 删除
PATCH:提交对资源的部分修改。如果您只需要更新资源的一个字段,您可能需要使用 PATCH 方法。
注意:
由于 POST、PUT、DELETE 修改了内容,使用 Fiddler 对以下 url 的测试只是模仿了更新。它实际上并没有删除或修改。我们可以通过查看状态码来检查是否发生了插入、更新、删除。
网址: http://jsonplaceholder.typicode.com/posts/
1) 获取:
GET 是最简单的一种 HTTP 请求方法;每次单击链接或在地址栏中键入 URL 时浏览器使用的一种。它指示服务器将 URL 标识的数据传输给客户端。绝不应该因为 GET 请求而在服务器端修改数据。从这个意义上说,GET 请求是只读的。
检查 Fiddler 或 PostMan:
我们可以使用 Fiddler 来检查响应。打开 Fiddler 并选择 Compose 选项卡。
如下所示指定动词和url,然后单击执行以检查响应。
动词: GET
网址: http://jsonplaceholder.typicode.com/posts/
响应:您将得到如下响应:
“userId”:1,“id”:1,“title”:“sunt aut...”,“body”:“quia et suscipit...”
在“快乐”(或非错误)路径中,GET 返回 XML 或 JSON 格式的表示和 200(OK)的 HTTP 响应代码。在错误情况下,它最常返回 404(未找到)或 400(错误请求)。
2) 发布:
POST 动词主要用于创建新资源。特别是,它用于创建从属资源。也就是说,从属于其他一些(例如父级)资源。
成功创建后,返回 HTTP 状态 201,返回 Location 标头,其中包含指向新创建资源的链接,HTTP 状态为 201。
检查 Fiddler 或 PostMan:
我们可以使用 Fiddler 来检查响应。打开 Fiddler 并选择 Compose 选项卡。
如下所示指定动词和url,然后单击执行以检查响应。
动词: POST
网址:http://jsonplaceholder.typicode.com/posts/
请求正文:
数据:{
标题:“富”,
身体:'酒吧',
用户 ID:1000,
编号:1000
}
响应:您将收到响应代码为 201。
如果我们想检查 Id = 1000 的插入记录,请将动词更改为 Get 并使用相同的 url,然后单击 Execute。
如前所述,上面的url只允许读取(GET),我们不能真正读取更新后的数据。
3) 放置:
PUT 最常用于更新功能,PUT 到一个已知的资源 URI,请求正文包含原始资源的新更新表示。
检查 Fiddler 或 PostMan:
我们可以使用 Fiddler 来检查响应。打开 Fiddler 并选择 Compose 选项卡。
如下所示指定动词和url,然后单击执行以检查响应。
动词: PUT
网址: http://jsonplaceholder.typicode.com/posts/1
请求正文:
数据:{
标题:“富”,
身体:'酒吧',
用户ID:1,
编号:1
}
响应:成功更新后,它会从 PUT 中返回 200(如果没有返回正文中的任何内容,则返回 204)。
4) 删除:
DELETE 很容易理解。它用于删除由 URI 标识的资源。
成功删除后,返回 HTTP 状态 200 (OK) 以及响应正文,可能是已删除项目的表示(通常需要太多带宽)或包装响应(请参阅下面的返回值)。要么返回 HTTP 状态 204(无内容),没有响应正文。换句话说,没有正文的 204 状态,或者 JSEND 样式的响应和 HTTP 状态 200 是推荐的响应。
检查 Fiddler 或 PostMan:
我们可以使用 Fiddler 来检查响应。打开 Fiddler 并选择 Compose 选项卡。
如下所示指定动词和url,然后单击执行以检查响应。
动词:删除
网址:http://jsonplaceholder.typicode.com/posts/1
响应:成功删除后,它会返回 HTTP 状态 200(OK)以及响应正文。
PUT 和 PATCH 之间的示例
PUT
如果我必须更改我的名字,请发送 PUT 更新请求:
{ "first": "Nazmul", "last": "hasan" }
所以,这里为了更新名字,我们需要再次发送数据的所有参数。
补丁:
补丁请求表示我们只会发送我们需要修改的数据,而不会修改或影响数据的其他部分。
例如:如果我们只需要更新名字,我们只传递名字。
更多信息请参考以下链接:
https://jsonplaceholder.typicode.com/
https://github.com/typicode/jsonplaceholder#how-to
What is the main difference between PATCH and PUT request?
http://www.restapitutorial.com/lessons/httpmethods.html