如何在我的RESTAPI中应用HTTP补丁,其中底层资源是自定义属性文件

如何在我的RESTAPI中应用HTTP补丁,其中底层资源是自定义属性文件,rest,patch,Rest,Patch,我最近发现,JSON补丁只适用于底层资源为JSON的应用补丁,请求体类似于 {“op”:“replace”,“path”:“/a/b/c”,“value”:42}表示替换。 当资源是一个自定义属性文件而不是JSON时,我可以有类似的东西吗?或者是否有通用补丁的规范。RFCForHTTP补丁只告诉正文中的[DescriptionofChanges],如下所示 PATCH /file.txt HTTP/1.1 Host: www.example.com Content-Type: applicati

我最近发现,JSON补丁只适用于底层资源为JSON的应用补丁,请求体类似于 {“op”:“replace”,“path”:“/a/b/c”,“value”:42}表示替换。 当资源是一个自定义属性文件而不是JSON时,我可以有类似的东西吗?或者是否有通用补丁的规范。RFCForHTTP补丁只告诉正文中的[DescriptionofChanges],如下所示

PATCH /file.txt HTTP/1.1
Host: www.example.com
Content-Type: application/example
If-Match: "e0023aa4e"
Content-Length: 100

[description of changes]

JSON修补程序不要求目标资源为JSON。只有请求的内容必须格式化为JSON。您可以根据需要实施这些操作。RFC的摘要确实说它位于JSON文档上。“这种格式在其他情况下也可能有用,在这种情况下,需要对JSON文档或具有类似约束的数据结构进行部分更新(也就是说,可以使用JSON语法将它们序列化为对象或数组)。“本质上,当它们说“JSON文档”时,它们指的不是静止的底层资源表示(本规范并非专门针对NoSQL数据存储)。JSON文档可以是从调用RESTful端点(如
GET/customers/:id
)获得的表示形式。本质上,您只需要将属性文件的表示形式形成为JSON文档,这应该是一项简单的任务。包含url、用户和密码的属性文件的示例表示形式可能是like:
{“url”:“www.google.com”,“user”:“jshmo”,“password”:“1234”}
谢谢。这句话很有用。JSON补丁不要求目标资源是JSON。只有请求的内容必须格式化为JSON。这取决于您根据需要实现操作。RFC的摘要说它位于JSON文档中。“这种格式在需要对JSON文档或具有类似约束的数据结构(即,可以使用JSON语法将其序列化为对象或数组)进行部分更新的其他情况下也可能有用。”基本上,当他们说“JSON文档”时,它们不是指静止的底层资源表示(本规范并非专门针对NoSQL数据存储)。JSON文档可以是从调用RESTful端点(如
GET/customers/:id
)获得的表示形式。本质上,您只需要将属性文件的表示形式形成为JSON文档,这应该是一项简单的任务。包含url、用户和密码的属性文件的示例表示形式可能是like:
{“url”:“www.google.com”,“user”:“jshmo”,“password”:“1234”}
谢谢。这句话很有帮助。