HTTP PATCH用于资源的部分更新。根据我的理解,可以在与PATCH相关的资源上进行更新(可能更多,但我需要确切知道这两者的处理方式不同)
我只是想知道PATCH是否应该处理第二种情况?如果是,那么应该如何以及它与第一个有何不同?
答案 0 :(得分:0)
PATCH需要一种文档格式,该格式能够描述一组修改以修改目标资源。 HTTP格式本身没有标准化,您可以选择要使用的格式。这可能是一个简单的差异文件,或专门为序列化格式设计的东西,例如JSON-patch格式。
考虑到这一点,PATCH可以用于您决定使用的修补算法可以执行的任何部分更新。如果Customer资源的media-type允许将电话号码添加为新字段,那么使用PATCH添加该字段是完全正确的,如果使用的修补算法可以执行添加。
答案 1 :(得分:0)
是的,你可以使用方法PATCH
,但我认为在你的情况下(第二种情况)使用POST
方法更方便:
POST /users/<userid>/phones
Content-type: text/plain
+33 3 12 34 56 78
201 Created
<强>编辑:强>
根据您的评论,方法PATCH
就是您所需要的。以下是一些可以帮助您定义请求的有效负载格式的链接:
否则您会注意到OData直接提供有效负载中的数据。请参阅此链接http://www.odata.org/getting-started/basic-tutorial/,部分&#34;更新实体&#34;。
希望它可以帮到你, 亨利