sel*_*mar 228 http http-post http-put http-patch
HTTP协议中的PUT,POST和PATCH方法有什么区别?
Lit*_*mar 197
HTTP.POST当客户端将数据发送到服务器并且服务器将决定新创建的资源的URI时,可以使用它.POST方法用于请求源服务器接受请求中包含的实体作为Request-URI中Request-URI标识的资源的新下级.
HTTP.PUT当客户端向服务器发送数据并且客户端正在确定新创建的资源的URI时,可以使用此方法.PUT方法请求将所包含的实体存储在提供的Request-URI下.如果Request-URI引用已经存在的资源,则封闭的实体应该被视为驻留在源服务器上的实体的修改版本.如果Request-URI未指向现有资源,并且该URI能够被请求用户代理定义为新资源,则源服务器可以使用该URI创建资源.
HTTP.PATCH当客户端发送一个或多个要由服务器应用的更改时,可以使用此方法.PATCH方法请求将请求实体中描述的一组更改应用于Request-URI标识的资源.这组更改以称为修补文档的格式表示.
有关更多信息,请参阅下面提到的URL
Kri*_*hna 169
HTTP动词中的PUT,POST,GET,DELETE和PATCH之间的区别:
最常用的HTTP谓词POST,GET,PUT,DELETE类似于数据库中的CRUD(创建,读取,更新和删除)操作.我们在大写情况下指定这些HTTP动词.所以,下面是它们之间的比较.
PATCH:提交对资源的部分修改.如果只需要为资源更新一个字段,则可能需要使用PATCH方法.
注意:
由于POST,PUT,DELETE修改了内容,因此使用fiddler对下面的url进行的测试只是模仿了更新.它实际上不会删除或修改.我们只需查看状态代码即可检查插入,更新,删除是否发生.
网址: http ://jsonplaceholder.typicode.com/posts/
1)GET:
GET是最简单的HTTP请求方法; 每次单击链接或在地址栏中键入URL时浏览器使用的浏览器.它指示服务器将URL标识的数据传输到客户端.由于GET请求,不应在服务器端修改数据.从这个意义上讲,GET请求是只读的.
使用Fiddler或PostMan 进行检查:我们可以使用fiddler来检查响应.打开提琴手,然后选择"撰写"选项卡.如下所示指定动词和URL,然后单击"执行"以检查响应.
动词: GET
网址: http ://jsonplaceholder.typicode.com/posts/
回复:您将得到以下答复:
"userId":1,"id":1,"title":"sunt aut ...","body":"quia et suscipit ......"
在"快乐"(或非错误)路径中,GET以XML或JSON格式返回表示形式,并返回HTTP响应代码200(OK).在错误情况下,它通常返回404(NOT FOUND)或400(BAD REQUEST).
2)POST:
POST动词主要用于创建新资源.特别是,它用于创建从属资源.也就是说,从属于其他一些(例如父)资源.
成功创建后,返回HTTP状态201,返回Location标头,其中包含指向具有201 HTTP状态的新创建资源的链接.
使用Fiddler或PostMan 进行检查:我们可以使用fiddler来检查响应.打开提琴手,然后选择"撰写"选项卡.如下所示指定动词和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 进行检查:我们可以使用fiddler来检查响应.打开提琴手,然后选择"撰写"选项卡.如下所示指定动词和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(NO CONTENT)而没有响应正文.换句话说,建议的响应是204状态,没有正文,或JSEND样式响应和HTTP状态200.
使用Fiddler或PostMan 进行检查:我们可以使用fiddler来检查响应.打开提琴手,然后选择"撰写"选项卡.如下所示指定动词和URL,然后单击"执行"以检查响应.
动词:删除
网址: 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
http://www.restapitutorial.com/lessons/httpmethods.html
a_m*_*dev 52
这是对所有内容的简单描述:
Ank*_*Rai 39
PUT =使用提供的新表示替换ENTIRE RESOURCE
PATCH =使用提供的值替换源资源的一部分AND |或者更新您未提供的资源的其他部分(时间戳)和|或更新资源影响其他资源(关系)
小智 23
最简单的解释:
POST - 创建新记录
PUT - 如果记录存在,则更新其他,创建新记录
补丁 - 更新
GET - 读取
删除 - 删除
beg*_*ers 15
PUT和PATCH之间的主要区别请求:
假设我们有一个资源,其中包含一个人的名字和姓氏。
如果我们想更改名字,那么我们发送一个 put 请求来更新
{ "first": "Michael", "last": "Angelo" }
在这里,虽然我们只更改了名字,但是对于 PUT 请求,我们必须首先发送两个参数。
换句话说,必须再次发送所有值,即完整的有效载荷。
然而,当我们发送 PATCH 请求时,我们只发送我们想要更新的数据。换句话说,我们只发送名字来更新,不需要发送姓氏。
Kwa*_*edu 13
这么想……
POST - 创建
PUT - 替换
补丁 - 更新
GET - 读取
删除 - 删除
小智 7
以下定义来自真实示例。
示例概述
对于每个客户数据,我们将存储一个标识符以查找该客户数据,并将该标识符发送回该客户以供参考。
开机自检
放
补丁
注意:在Put方法上,如果找不到标识符,则不会引发异常。但是在Patch方法中,如果找不到标识符,则会引发异常。
如果您对以上内容有任何疑问,请告诉我。
小智 6
GET / PUT是幂等的PATCH有时是幂等的
什么是幂等-这意味着如果我们多次触发查询,它就不会影响查询结果。(相同的输出。假设一头牛怀孕了,如果我们再次繁殖它,那么它就不能多次怀孕)。
get :-简单得到。从服务器获取数据并将其显示给用户
{
id:1
name:parth
email:x@x.com
}
Run Code Online (Sandbox Code Playgroud)
post :-在数据库中创建新资源。这意味着它将添加新数据。它不是幂等的。
put :-创建新资源,否则添加到现有资源。幂等,因为它每次都会更新相同的资源,并且输出将相同。 例如 -初始数据
{
id:1
name:parth
email:x@x.com
}
Run Code Online (Sandbox Code Playgroud)
{
id:1
email:ppp@ppp.com
}
Run Code Online (Sandbox Code Playgroud)
patch所以现在补丁请求PATCH有时是幂等的
id:1
name:parth
email:x@x.com
}
Run Code Online (Sandbox Code Playgroud)
补丁名称:w
id:1
name:parth
email:x@x.com
}
Run Code Online (Sandbox Code Playgroud)
HTTP方法 得到是 开机自检 放是 补丁号* 选项是 头是 删除是
资源:等幂- 什么是等幂?
参考RFC:https://www.rfc-editor.org/rfc/rfc9110.html#name-method-definitions
POST - 创建新对象
PUT - 更新旧对象或创建新对象(如果不存在)
PATCH - 更新/修改旧对象。主要用于修改。
像前面提到的那样,RFC 的解释很少,但是如果你仔细阅读,你会发现 PUT 和 PATCH 方法是在 POST 之后出现的,这是创建原生HTML 表单的常见老式方法。
因此,如果您尝试支持所有方法(例如 PATCH 或 DELETE),建议使用所有方法的最合适方法是坚持CRUD模型:
创建- PUT
读取- 获取
更新- PATCH
D删除 - 删除
旧的 HTML 原生方式:
读取 - GET
创建/更新/删除 - POST
祝码农好运!;-)
| 归档时间: |
|
| 查看次数: |
164026 次 |
| 最近记录: |