HTTP协议中的PUT,POST和PATCH方法之间有什么区别?
HTTP协议中的PUT,POST和PATCH方法之间有什么区别?
Answers:
HTTP动词中的PUT,POST,GET,DELETE和PATCH之间的区别:
最常用的HTTP动词POST,GET,PUT,DELETE与数据库中的CRUD(创建,读取,更新和删除)操作相似。我们以大写字母指定这些HTTP动词。因此,以下是它们之间的比较。
补丁:对资源提交部分修改。如果只需要更新资源的一个字段,则可能需要使用PATCH方法。
注意:
由于POST,PUT,DELETE修改了内容,因此使用Fiddler对以下URL进行的测试只会模仿更新。它实际上并没有删除或修改。我们只能看到状态代码来检查是否发生插入,更新,删除。
网址: http ://jsonplaceholder.typicode.com/posts/
1)获取:
GET是最简单的HTTP请求方法类型。每次您单击链接或在地址栏中输入URL时浏览器都会使用的浏览器。它指示服务器将URL标识的数据传输到客户端。永远不要由于GET请求而在服务器端修改数据。从这个意义上说,GET请求是只读的。
使用Fiddler或PostMan 进行检查:我们可以使用Fiddler来检查响应。打开Fiddler,然后选择“撰写”选项卡。指定动词和URL,如下所示,然后单击“执行”以检查响应。
动词: GET
网址: http ://jsonplaceholder.typicode.com/posts/
响应:您将获得以下响应:
“ userId”:1,“ id”:1,“ title”:“ sunt aut ...”,“ body”:“ quia et suscipit ...”
在“高兴”(或非错误)路径中,GET返回XML或JSON表示形式以及HTTP响应代码200(确定)。在错误情况下,它通常会返回404(找不到)或400(错误请求)。
2)开机自检:
POST动词通常用于创建新资源。特别是,它用于创建从属资源。也就是说,从属于某些其他(例如父级)资源。
创建成功后,返回HTTP状态201,并返回一个Location头,其中包含指向具有201 HTTP状态的新创建资源的链接。
使用Fiddler或PostMan 进行检查:我们可以使用Fiddler来检查响应。打开Fiddler,然后选择“撰写”选项卡。指定动词和URL,如下所示,然后单击“执行”以检查响应。
动词: POST
网址: http ://jsonplaceholder.typicode.com/posts/
请求正文:
数据:{title:'foo',body:'bar',userId:1000,ID:1000}
响应:您将收到响应代码201。
如果要检查Id = 1000插入的记录,请将动词更改为Get并使用相同的url,然后单击Execute。
如前所述,上述url仅允许读取(GET),而我们不能真正读取更新的数据。
3)放置:
PUT通常用于更新功能,通过请求主体包含原始资源的新近更新表示,将PUT映射到已知资源URI。
使用Fiddler或PostMan 进行检查:我们可以使用Fiddler来检查响应。打开Fiddler,然后选择“撰写”选项卡。指定动词和URL,如下所示,然后单击“执行”以检查响应。
动词: PUT
网址: http ://jsonplaceholder.typicode.com/posts/1
请求正文:
数据:{title:'foo',body:'bar',userId:1,Id:1}
响应:成功更新后,它将从PUT返回200(如果未返回任何内容,则返回204)。
4)删除:
删除非常容易理解。它用于删除 URI标识的资源。
成功删除后,返回HTTP状态200(OK)以及响应正文,可能是已删除项目的表示形式(通常需要太多带宽)或已包装的响应(请参见下面的返回值)。要么返回HTTP状态204(没有内容),就没有响应主体。换句话说,建议使用无主体的204状态或JSEND样式的响应以及HTTP状态200。
使用Fiddler或PostMan 进行检查:我们可以使用Fiddler来检查响应。打开Fiddler,然后选择“撰写”选项卡。指定动词和URL,如下所示,然后单击“执行”以检查响应。
动词:删除
网址: http ://jsonplaceholder.typicode.com/posts/1
响应:成功删除后,它将返回HTTP状态200(确定)以及响应正文。
PUT和PATCH之间的示例
放
如果必须更改我的名字,请发送PUT更新请求:
{“ first”:“ Nazmul”,“ last”:“ hasan”}因此,为了更新名字,我们需要再次发送数据的所有参数。
补丁:
补丁请求说,我们只会发送需要修改的数据,而不会修改或影响数据的其他部分。例如:如果我们只需要更新名字,就只传递名字。
请参考以下链接以获取更多信息:
https://jsonplaceholder.typicode.com/
PUT =用提供的新表示替换整个资源
PATCH =用提供的值替换源资源的一部分,并且|或更新您尚未提供的资源的其他部分(时间戳),并且|或更新资源会影响其他资源(关系)
以下定义来自真实示例。
示例概述
对于每个客户数据,我们将存储一个标识符以查找该客户数据,并将该标识符发送回该客户以供参考。
开机自检
放
补丁
注意:在Put方法上,如果找不到标识符,则不会引发异常。但是在Patch方法中,如果找不到标识符,则会引发异常。
如果您对以上内容有任何疑问,请告诉我。
GET / PUT是幂等的PATCH有时是幂等的
什么是幂等-这意味着如果我们多次触发查询,它就不会影响查询结果。(相同的输出。假设一头母牛怀孕了,如果我们再次繁殖它,那么它就不能多次怀孕)。
get
:-简单得到。从服务器获取数据并将其显示给用户
{
id:1
name:parth
email:x@x.com
}
post
:-在数据库中创建新资源。这意味着它将添加新数据。它不是幂等的。
put
:-创建新资源,否则添加到现有资源。幂等的,因为它每次都会更新相同的资源,并且输出将相同。 例如 -初始数据
{
id:1
name:parth
email:x@x.com
}
{
id:1
email:ppp@ppp.com
}
patch
所以现在打补丁请求PATCH有时是幂等的
id:1
name:parth
email:x@x.com
}
补丁名称:w
{
id:1
name:w
email:x@x.com
}
HTTP方法 得到是 开机自检 放是 补丁号* 选项是 头是 删除是
资源:等幂- 什么是等幂?