仅使用http get和post的宁静web服务url设计的建议

时间:2012-03-27 15:29:56

标签: http rest

或者更具体地说,请向我推荐一些用于删除和更新资源的URI的名称约定。我正在使用的是“POST资源/ id /删除”和“POST资源/”,但我必须有更好的方法来做到这一点。 谢谢。

1 个答案:

答案 0 :(得分:0)

由于HTML不支持HTTP DELETE,您可以使用查询字符串参数向资源POST,例如/resources/13,以定义意图:POST /resources/13?_method=DELETE HTTP/1.1

在更新资源的情况下,您可以执行POST resources/13?_method=PUT HTTP/1.1,当然假设您的意图将匹配PUT的正确语义,即将完整的整个实体放置在指定的URI上。

要记住的一件非常重要的事情是'删除'不是资源,因此拥有资源标识符是没有意义的。删除是一个动词,这是HTTP方法的用途。当然,我们都希望有一天HTML能够完全支持HTTP,而不仅仅是一些任意动词。