服务器应该允许将Web服务归类为RESTful的最小HTTP谓词集是什么?

如果我的主机不允许PUTDELETE怎么办?

这真的很重要吗,我可以幸福地生活在GETPOST之后吗?


更新:感谢答案的人, Roger的回答可能是最好的,因为与Bill Venners和Elliotte Rusty Harold的访谈有关。 我现在明白了。


===============>>#1 票数:22 已采纳

是的,你可以在没有PUT和DELETE的情况下生活。

本文将告诉您原因: http//www.artima.com/lejava/articles/why_put_and_delete.html

对于真正的RESTafrians而言,这可能是异端邪说,在现实世界中,你可以用你拥有的东西尽你所能。 尽你所能并尽可能符合你自己的惯例,但你绝对可以建立一个没有P和D的良好的RESTful系统。

RP

===============>>#2 票数:3

您还可以使用X-Http-Verb-Override:DELETE inst。 HTTP DELETE。 这对于无法更改HTTP谓词且仅支持GET和POST的Silverlight客户端也很有用...

===============>>#3 票数:2

如果协议的实现被破坏,REST允许破坏协议约定(因此,您所做的唯一非标准事情是绕过实现的破坏部分)。 因此,在REST中允许使用其他方法来表示一般不受支持的动词,如DELETE或PUT。

编辑:这是Fielding的一句话,他是创建和定义REST的人:

除了填写或修复标准协议的未指定位的详细信息(例如HTTP的PATCH方法或链接头字段)之外,REST API不应包含对通信协议的任何更改。 破解实现的解决方法(例如那些足以让人相信HTML定义HTTP方法集的浏览器)应该单独定义,或者至少在附录中定义,期望解决方法最终会过时。 [失败在这里意味着资源接口是特定于对象的,而不是通用的。]

===============>>#4 票数:2

如果您只使用GET和POST,它仍然是RESTful。 您的Web服务可能只执行只需要GET或POST的事情,所以没关系。

===============>>#5 票数:1

今天的网络浏览器只处理GETS + POSTS。 例如,在Rails中,PUTS + DELETES通过隐藏的表单字段“伪造”。

除非你的框架有一些解决方法来“支持”PUTS + DELETES,否则现在不要担心它们。

  ask by Kev translate from so

未解决问题?本站智能推荐: