RESTWebAPI2清除整个表的方法是什么?

RESTWebAPI2清除整个表的方法是什么?,rest,asp.net-web-api,Rest,Asp.net Web Api,restfulweb服务中的一个基本概念是资源,例如api/delete/{id} 然而,我的目标是清除表中的所有记录,并通过WebAPI2Web服务重新加载表(希望不会违反太多RESTful原则) 我不想执行GET来检索记录,然后为每个资源发送DELETE请求。我正在尝试发送一个大规模删除或截断请求,而不指定任何特定的资源,也不承担GETting所有资源的费用,以便通过各自的delete请求将其返回。还是这是正确的方法 有没有办法做到这一点?或者我会发布一个删除请求吗 最好的方法似乎是对资源本

restfulweb服务中的一个基本概念是资源,例如
api/delete/{id}

然而,我的目标是清除表中的所有记录,并通过WebAPI2Web服务重新加载表(希望不会违反太多RESTful原则)

我不想执行
GET
来检索记录,然后为每个资源发送
DELETE
请求。我正在尝试发送一个大规模删除或截断请求,而不指定任何特定的资源,也不承担
GET
ting所有资源的费用,以便通过各自的
delete
请求将其返回。还是这是正确的方法


有没有办法做到这一点?或者我会发布一个删除请求吗

最好的方法似乎是对资源本身使用HTTP
DELETE
请求(而不是对资源中的每个项目)。因此,你的行动将是:

[HttpDelete]
[Route("")]
public IHttpActionResult DeleteAllItems()

我目前正在尝试这样做,但是我一直收到一个错误,因为出于某种原因,HTTP请求看起来像一个
GET
,尽管我明确说明了
[HttpDelete]的方法
这听起来像是客户端构造请求的方式有问题,而不是API有问题。下面是构造的样子
[Route(“delete”)][HttpDelete]public ihttppactionresult delete()
因此最终结果是
/api/controller/delete
,但它作为
GET
错误返回。然而,这是一个次要的问题,我会看看。不过,您已经对原始问题做出了回答。谢谢没问题。作为一个RESTful服务,尽管它应该是基于资源的。
api/controller/delete
的端点指定了一个操作,因此不是严格的RESTful。您的端点应该是
api/controller/
,并使用HTTP谓词指定对其执行的操作。因此,您可以通过
GET
请求返回资源中的所有项目,并通过
DELETE
将其全部删除。因此,您的路由属性应该是
[route(“”)
,另一个
[HttpDelete]
属性指定操作。如果它看起来像“GET”,很可能是因为这是您的客户端/浏览器发送它的方式,这就是问题所在,而不是web api代码