下面的定义来自真实世界的示例。
示例概述
对于每个客户机数据,我们存储一个标识符以查找该客户机数据,并将该标识符发送回客户机供参考。
>
职位
放
色斑
注意:在PUT方法中,如果找不到标识符,我们不会抛出异常。但是在PATCH方法中,如果找不到标识符,我们将抛出异常。
如果您对上述问题有任何疑问,请务必告诉我。
PUT=用提供的新表示替换整个资源
PATCH=用提供的值替换源资源的一部分AND|OR资源的其他部分被更新,你没有提供(时间戳)AND|OR更新资源效果其他资源(关系)
https://laracasts.com/discuss/channels/general-discussion/whats-the-differences-between-put-and-patch?page=1
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:
GET是最简单的HTTP请求方法;浏览器在每次单击链接或在地址栏中键入URL时使用的链接。它指示服务器将URL标识的数据传输到客户端。决不能因为GET请求而在服务器端修改数据。从这个意义上讲,GET请求是只读的。
用小提琴手或邮递员检查:我们可以用小提琴手检查响应。打开小提琴手并选择撰写选项卡。指定如下所示的动词和url,然后单击Execute检查响应。
动词: GET
url:http://jsonplaceholder.typicode.com/posts/
响应:您将得到以下响应:
“用户id”:1,“id”:1,“标题”:“sunt aut…”,“body”:“quia et suscipit…”
在“快乐”(或非错误)路径中,GET返回XML或JSON的表示形式和200(确定)的HTTP响应代码。在错误情况下,它最常返回404(未找到)或400(BAD REQUEST)。
2) 职位:
POST动词主要用于创建新资源。特别是,它用于创建从属资源。也就是说,从属于某个其他(例如父)资源。
成功创建后,返回HTTP状态201,返回一个位置头,该位置头带有指向具有201 HTTP状态的新创建资源的链接。
用小提琴手或邮递员检查:我们可以用小提琴手检查响应。打开小提琴手并选择撰写选项卡。指定如下所示的动词和url,然后单击Execute检查响应。
动词:POST
url:http://jsonplaceholder.typicode.com/posts/
请求体:
data:{title:'foo', body:'bar', userId: 1000, Id: 1000}
响应:您将收到响应代码201。
如果我们想检查Id=1000的插入记录,请将动词改为Get并使用相同的url,然后单击Execute。
如前所述,上面的url只允许读取(GET),我们无法真正读取更新的数据。
3)把:
PUT最常用于更新功能,它与包含原始资源的新更新表示的请求体一起放入已知资源URI。
用小提琴手或邮递员检查:我们可以用小提琴手检查响应。打开小提琴手并选择撰写选项卡。指定如下所示的动词和url,然后单击Execute检查响应。
动词:把
网址: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是推荐的响应。
用小提琴手或邮递员检查:我们可以用小提琴手检查响应。打开小提琴手并选择撰写选项卡。指定如下所示的动词和url,然后单击Execute检查响应。
动词:删除
网址:http://jsonplaceholder.typicode.com/posts/1
响应:成功删除后,它将返回HTTP状态200(OK)以及响应主体。
PUT和PATCH之间的示例
放
如果我必须更改我的名字,然后发送更新的PUT请求:
{“first”:“Nazmul”,“last”:“hasan”}因此,为了更新名字,我们需要再次发送数据的所有参数。
补丁:
补丁请求表示我们只会发送需要修改的数据,而不会修改或影响数据的其他部分。例如:如果我们只需要更新名字,我们只传递名字。
有关更多信息,请参阅以下链接:
https://jsonplaceholder.typicode.com/
https://github.com/typicode/jsonplaceholder#how-to
补丁和PUT请求之间的主要区别是什么?
http://www.restapitutorial.com/lessons/httpmethods.html
我在Rails应用程序中使用了一个PUT请求。现在,浏览器已经实现了一个新的HTTP动词,补丁。因此,我想知道PATCH和PUT请求之间的主要区别是什么,以及何时应该使用其中一个。
问题内容: 在此示例中: 无法编译为: 而被编译器接受。 这个答案说明唯一的区别是,与不同,它允许您稍后引用类型,似乎并非如此。 是什么区别,并在这种情况下,为什么不第一编译? 问题答案: 通过使用以下签名定义方法: 并像这样调用它: 在jls§8.1.2中,我们发现(有趣的部分被我加粗了): 通用类声明定义了一组参数化类型(第4.5节), 每种可能通过类型arguments调用类型参数节的类型
问题内容: 今天,我按照一些说明在Linux中安装软件。有一个脚本需要首先运行。它设置一些环境变量。 指令告诉我要执行,但是我执行错误了。因此未设置环境。最后,我注意到了这一点并继续进行。 我想知道这两种调用脚本方法的区别。我对Linux完全陌生,所以请尽可能详细。 问题答案: 运行脚本,将启动一个新的运行脚本的外壳。新的外壳程序不会影响启动脚本的父外壳程序。 是的简写形式,它将在当前shell中
问题内容: 我刚开始使用Spring。我遇到了很多教程。我看到使用更多的例子比。我查看了Spring文档,但无法弄清楚使用其中一个的好处。有人可以提供一些解释吗? 问题答案: 是的便捷子类。 JavaDoc描述了一些添加的属性,这些属性在某些情况下可能有用: UrlBasedViewResolver的便利子类,它支持InternalResourceView(即Servlet和JSP)以及诸如Jst
问题内容: 我刚刚看到了包含标签的CSS代码。我看着MDN看看是什么,但我真的不明白。 有人可以解释它是如何工作的吗? 它会在我们通过CSS选择之前创建DOM元素吗? 问题答案: 根据这些文档,它们是等效的: 唯一的区别是CSS3中使用了双冒号,而单冒号是旧版本。 推理: CSS 3中引入了:: before表示法,以便在伪类和伪元素之间建立区别。浏览器还接受:在CSS 2中引入的表示法。
问题内容: 以下哪个更好? 要么 我知道的唯一区别是,当“ a”为null时,第一个返回false,而第二个抛出异常。除此之外,它们是否总是给出相同的结果? 问题答案: 使用时,你需要B在编译时知道类。使用时可以是动态的,并且可以在运行时更改。