REST API 的 DELETE 请求怎样处理参数?


在做 REST API, 相对于 Backbone 原生的方案, 发现实用中要有很多的参数才行,
POST 请求 PUT 请求带参数没有问题, GET 请求看 StackOverflow 上有帖子说不要用,
似乎说规范里并不禁止传递参数, 而是实际上为了避免混淆之类原因不建议,
http://stackoverflow.com/questions/978061/http-get-with-request-body
对于 DELETE 说的就不那么明确了, 或者仅仅推荐不用?
http://stackoverflow.com/questions/299628/is-an-entity-body-allowed-for-an-http-delete-request
搜到过有带在 Header 里一些参数的做法, 但那样是否合适(以及兼容性, 大量数据时是否可靠)呢?
现在是否有好的方案呢?

http restful backbone

唐伯虎点雷管 11 years, 2 months ago

不建议使用。
如果网络中存在代理服务器,可能造成entity body丢失。

DELETE的语义是删除URI对应的资源,使用少量的参数(比如身份认证)是可以的。 如果需要大量参数(比如用于选择要删除什么东西),那就说明API的设计思路不对。

懒惰的助手君 answered 11 years, 2 months ago

Your Answer