PUT,POST和PATCH有什么区别?

HTTP协议中的PUT,POST和PATCH方法有什么区别?

POST

客户端向服务器发送数据时,可以使用HTTP.POST ,服务器将决定新创build的资源的URI。 POST方法用于请求源服务器接受请求中包含的实体作为Request-Line中Request-URI标识的资源的新下属。

当客户HTTP.PUT在向服务器发送数据,并且客户HTTP.PUT在确定新创build的资源的URI时,可以使用HTTP.PUT 。 PUT方法要求封闭的实体存储在提供的Request-URI下。 如果Request-URI引用一个已经存在的资源,封闭的实体应该被认为是驻留在原始服务器上的修改版本。 如果Request-URI不指向现有资源,并且该URI能够被请求用户代理定义为新资源,则源服务器可以使用该URI创build资源。

补丁

当客户HTTP.PATCH在发送一个或多个要由服务器应用的更改时,可以使用HTTP.PATCH 。 PATCH方法请求将请求实体中描述的一组变更应用于由Request-URI标识的资源。 这组更改以称为补丁文档的格式表示。

HTTP中的PUT,POST,GET,DELETE和PATCH之间的区别动词: –

最常用的HTTP动词POST,GET,PUT,DELETE类似于数据库中的CRUD(创build,读取,更新和删除)操作。 我们在字母大写的情况下指定这些HTTP动词。因此,下面是它们之间的比较。

  1. 创造 – POST

  2. 阅读 – 获取

  3. 更新 – PUT
  4. 删除 – DELETE

修补程序:提交对资源的部分修改。 如果您只需要更新资源的一个字段,则可能需要使用PATCH方法

注意: 由于POST,PUT,DELETE修改了内容,下面的url的提琴手testing只是模仿更新。 它不会实际删除或修改。我们只能看到状态码来检查插入,更新,删除是否发生

url: http : //jsonplaceholder.typicode.com/posts/

1) GET: GET是最简单的HTTP请求方法; 每次点击一个链接或在地址栏中input一个URL时浏览器使用的那个。 它指示服务器将由URL标识的数据传输给客户端。 数据不应该由于GET请求而在服务器端进行修改。 在这个意义上,GET请求是只读的。

用Fiddler或PostMan检查: –我们可以使用提琴手检查响应。 打开提琴手,然后select“撰写”选项卡。 如下所示指定动词和url,然后单击执行以检查响应。

动词: GET

url: http : //jsonplaceholder.typicode.com/posts/

回应:你会得到回应,

“userId”:1,“id”:1,“title”:“sunt aut …..”,“body”:“quia et suscipit ..”

在“开心”(或非错误)path中,GET返回XML或JSON的表示forms以及200(OK)的HTTP响应代码。 在错误情况下,它最常返回一个404(NOT FOUND)或400(BAD REQUEST)。

2)职位: –

POST动词主要用于创build新资源。 特别是用于创build下属资源。 也就是说,从属于某些其他(如父母)资源。

创build成功后,返回HTTP状态201,返回一个Location标头,其链接指向新创build的具有201 HTTP状态的资源

用Fiddler或PostMan检查: –我们可以使用提琴手检查响应。 打开提琴手,然后select“撰写”选项卡。 如下所示指定动词和url,然后单击执行以检查响应。

动词: POST

url: http : //jsonplaceholder.typicode.com/posts/

请求正文:

data:{title:'foo',body:'bar',userId:1000,Id:1000}

回应:您将收到回复代码为201。

如果我们想用Id = 1000来检查插入的logging,将动词改为Get,并使用相同的URL并单击Execute。

如前所述,上面的url只允许读取(GET),我们不能真正读取更新的数据。

3)PUT:

PUT最常用于更新function,将请求主体包含原始资源的新更新表示,并将PUT分配给已知的资源URI。

用Fiddler或PostMan检查: –我们可以使用提琴手检查响应。 打开提琴手,然后select“撰写”选项卡。 如下所示指定动词和url,然后单击执行以检查响应。

动词: PUT

url: 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(无内容)而没有响应主体。 换句话说,build议的响应是不带主体的204状态,或JSEND风格的响应和HTTP状态200。

用Fiddler或PostMan检查: –我们可以使用提琴手检查响应。 打开提琴手,然后select“撰写”选项卡。 如下所示指定动词和url,然后单击执行以检查响应。

动词:删除

url: http : //jsonplaceholder.typicode.com/posts/1

响应:成功删除后,将返回HTTP状态200(确定)以及响应主体。

PUT和PATCH之间的示例

如果我不得不改变我的名字,然后发送请求更新

{“first”:“Nazmul”,“last”:“hasan”}所以,在这里为了更新名字,我们需要再次发送数据的所有参数

补丁:

补丁请求说,我们只会发送我们需要修改的数据,而不修改或影响数据的其他部分。 例如:如果我们只需要更新名字,我们只传递名字。

请参阅下面的链接了解更多信息

https://jsonplaceholder.typicode.com/

https://github.com/typicode/jsonplaceholder#how-to

PATCH和PUT请求之间的主要区别是什么?

http://www.restapitutorial.com/lessons/httpmethods.html