当前位置:  开发笔记 > 前端 > 正文

用于REST的HTTP MODIFY动词?

如何解决《用于REST的HTTPMODIFY动词?》经验,为你挑选了2个好方法。

据我所知,没有RESTful方法可以对资源进行修改.为了做到这一点,你必须将资源作为一个整体,覆盖以前的表示.我认为这是问题的根源,特别是当资源具有大量表示时.

我相信这暗示了HTTP1.1中缺少动词:类似于MODIFY或PATCH.甚至WebDAV都没有这个动词(它有PROPPATCH,其概念类似,但不适用于资源).

对于真实世界的REST,当前的HTTP 1.1动词集是不是太有限了?

编辑:我在IETF找到了关于PATCH动词的提议

http://tools.ietf.org/html/draft-dusseault-http-patch-15

此规范定义了用于对资源应用部分修改的新HTTP/1.1 [RFC2616]方法PATCH.

需要一种新方法来提高互操作性并防止错误.PUT方法已经定义为使用完整的新主体覆盖资源,并且不能重用以进行部分更改.否则,代理和缓存甚至客户端和服务器可能会对操作结果感到困惑.早期的HTTP规范中提到了PATCH,但没有完全定义.

据我所知,这种动词的唯一问题是缺乏幂等性.

编辑: 截至2010年3月,RFC 5789存在(HTTP的PATCH方法).



1> DSO..:

您可以将资源划分为可单独更新的子资源.

例如,您有一个表示用户帐户信息的/ user资源,您可以创建/ user/email子资源,然后在其上执行PUT以仅更新电子邮件.



2> Avi Flax..:

您可以使用POST进行部分更新.它并不理想,但它相当RESTful.

推荐阅读
云聪京初瑞子_617
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有