如何在HTTP DELETE请求中传递额外的参数?

问题描述:

我正在编写一个REST API,它支持相同URL的POST/GET/DELETE方法。如何在HTTP DELETE请求中传递额外的参数?

对于DELETE方法,API需要额外的参数(删除的详细信息)。但是我使用的库不支持DELETE方法的请求体,我该怎么办?

如果我把参数中的URL,如:

DELETE /API/Resource/id/parameter 

然后我打破RESTyness。 或者我需要使用另一种方法POST/PUT,它不是RESTy。

+2

使用查询参数或引入自定义请求标题或更改正在使用的库;)您应该更具体地了解额外参数的用途。 – filip26

为什么POST/PUT不是RESTY?看看twitter REST API:您可以通过发布到/statuses/id/destroy来销毁状态。该请求确实接受参数。你可以做类似这样的事情:

POST /API/Resource/id/destroy 

我认为这是足够的RESTY。

+3

Destroy是一种行为,而不是资源......看起来我们必须忍受REST的松散定义。 – NeoWang

+2

@ hfhc2,恕我直言twitter API是我用过的最糟糕的API。用它作为例子不是一个好主意。 – Opal