PUT,POST和PATCH有什么区别?
HTTP协议中的PUT,POST和PATCH方法有什么区别?
POST
HTTP.POST
可以在客户端向服务器发送数据时使用,服务器将为新创建的资源决定URI。 POST方法用于请求源服务器接受请求中包含的实体作为Request-Line中Request-URI标识的资源的新下属。
放
当客户HTTP.PUT
在向服务器发送数据并且客户HTTP.PUT
在确定新创建的资源的URI时,可以使用HTTP.PUT
。 PUT方法要求封闭实体存储在提供的Request-URI下。 如果Request-URI指向一个已经存在的资源,那么封闭的实体应该被认为是驻留在原始服务器上的修改版本。 如果Request-URI不指向现有资源,并且该URI可以被请求用户代理定义为新资源,则源服务器可以使用该URI创建资源。
补丁
当客户端发送一个或多个要由服务器应用的更改时,可以使用HTTP.PATCH
。 PATCH方法请求将请求实体中描述的一组更改应用于由Request-URI标识的资源。 这组更改以称为补丁文档的格式表示。
HTTP中的PUT,POST,GET,DELETE和PATCH之间的区别动词:
最常用的HTTP动词POST,GET,PUT,DELETE类似于数据库中的CRUD(创建,读取,更新和删除)操作。 我们在首字母大写中指定这些HTTP动词。 所以,下面是他们之间的比较。
修补程序:提交对资源的部分修改。 如果您只需要更新资源的一个字段,则可能需要使用PATCH方法。
注意:
由于POST,PUT,DELETE会修改内容,因此下面url的提琴手测试只是模仿更新。 它不会实际删除或修改。 我们只能看到状态代码来检查插入,更新,删除是否发生。
网址: http : //jsonplaceholder.typicode.com/posts/
1) GET:
GET是最简单的HTTP请求方法; 每次您点击链接或在地址栏中输入网址时浏览器使用的浏览器。 它指示服务器将URL标识的数据传输给客户端。 由于GET请求,数据不应在服务器端进行修改。 在这个意义上,GET请求是只读的。
使用Fiddler或PostMan进行检查:我们可以使用提琴手来检查响应。 打开提琴手并选择撰写选项卡。 如下所示指定动词和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(NOT FOUND)或400(BAD REQUEST)。
2)POST:
POST动词主要用于创建新资源。 特别是,它被用来创建下属资源。 也就是说,从属于某些其他(如父母)资源。
创建成功后,返回HTTP状态201,返回一个Location标头,其链接指向具有201 HTTP状态的新创建资源。
使用Fiddler或PostMan进行检查:我们可以使用提琴手来检查响应。 打开提琴手并选择撰写选项卡。 如下所示指定动词和url,然后单击执行以检查响应。
动词: POST
网址: http : //jsonplaceholder.typicode.com/posts/
请求正文:
data:{title:'foo',body:'bar',userId:1000,Id:1000}
回复:您会收到201的回复代码。
如果我们想用Id = 1000检查插入的记录,将动词改为Get并使用相同的URL并单击Execute。
如前所述,上面的url只允许读取(GET),我们不能真正读取更新的数据。
3)PUT:
PUT最常用于更新功能,通过请求主体包含原始资源的新更新表示,将PUT分配给已知的资源URI。
使用Fiddler或PostMan进行检查:我们可以使用提琴手来检查响应。 打开提琴手并选择撰写选项卡。 如下所示指定动词和url,然后单击执行以检查响应。
动词: PUT
网址: http : //jsonplaceholder.typicode.com/posts/1
请求正文:
data:{title:'foo',body:'bar',userId:1,Id:1}
响应:成功更新后,它将从PUT返回200(或204,如果未返回正文中的任何内容)。
4)删除:
DELETE很容易理解。 它用于删除由URI标识的资源。
删除成功后,返回HTTP状态200(OK)以及响应主体,可能是已删除项目的表示(通常需要太多带宽)或者包装响应(请参阅下面的返回值)。 或者返回HTTP状态204(无内容)而没有响应主体。 换句话说,推荐的响应是204状态,没有主体,或JSEND风格的响应和HTTP状态200。
使用Fiddler或PostMan进行检查:我们可以使用提琴手来检查响应。 打开提琴手并选择撰写选项卡。 如下所示指定动词和url,然后单击执行以检查响应。
动词: DELETE
网址: http : //jsonplaceholder.typicode.com/posts/1
响应:成功删除后,它会返回HTTP状态200(确定)以及响应主体。
PUT和PATCH之间的示例
放
如果我必须更改我的名字,请发送PUT请求以更新:
{“first”:“Nazmul”,“last”:“hasan”}所以,为了更新名字,我们需要再次发送数据的所有参数。
补丁:
修补程序请求表示我们只会发送我们需要修改的数据,而不修改或影响数据的其他部分。 例如:如果我们只需要更新名字,我们只传递第一个名字。
请参阅以下链接了解更多信息:
https://jsonplaceholder.typicode.com/
https://github.com/typicode/jsonplaceholder#how-to
PATCH和PUT请求之间的主要区别是什么?
http://www.restapitutorial.com/lessons/httpmethods.html
PUT =用所提供的新代表替换整个资源
PATCH =使用提供的值替换源资源的某些部分AND | OR您未提供的资源的其他部分已更新(时间戳)AND | OR更新资源影响其他资源(关系)
https://laracasts.com/discuss/channels/general-discussion/whats-the-differences-between-put-and-patch?page=1
链接地址: http://www.djcxy.com/p/7017.html上一篇: What is the difference between PUT, POST and PATCH?
下一篇: Why use PUT methods?