为什么Twitter不推荐在其API中使用DELETE作为请求方法?

时间:2012-01-12 19:36:13

标签: api twitter httprequest

Twitter已弃用使用DELETE作为请求方法的所有方法,

DELETE :user/lists/:id  

现在使用POST作为请求方法,

POST lists/destroy

为什么Twitter已经停止在他们的API中使用DELETE,现在只对所有方法使用POST和GET?

  • 是表演吗?
  • 安全吗?
  • 有什么好处 构建一个只使用POST和GET的API?

1 个答案:

答案 0 :(得分:7)

我认为某些客户端能够发出DELETE请求存在兼容性问题。回顾一个已弃用的调用的docs,我发现了这个模糊。

  

使用说明无法发出DELETE次请求的客户POST可以_method=DELETE   添加的参数DELETE

所以,我的感觉(和猜测)是因为{{1}}动词不是统一支持的,所以它在系统范围内被删除了。


更新:我在推特上发了一条推文给泰勒(@episod)并询问他对上述内容的看法,并发出了以下回复:

  

@arcain [答案] 几乎涵盖了它;对田园诗般的REST没有任何不尊重。   DELETE仍然通常适用于这些方法,但我们省略了docs。 [link]

     

@arcain虽然提到的大部分方法都没有弃用   因为HTTP方法,因为笨拙的URL模式。 [link]

因此,可用性 - 以及兼容性 - 似乎是弃用的关键问题。