1

PUT 和 POST 在 REST 中做非常相似的事情。假设是 POST 意味着创建一个新条目,而 PUT 意味着更新现有条目

我一直认为控制器操作方法上只能有一个路由属性,但现在我有一种情况,我希望方法能够响应HttpPost HttpPut

更新:

尝试了一些变体,如果应用了多个路由属性,则不会命中操作。像这些:

[HttpPost]
[HttpPut]
public ActionResult Include(int id, int order, int parent)
{
    return "...some result";
}

[HttpPost, HttpPut]
public ActionResult Include(int id, int order, int parent)
{
    return "...some result";
}

现在的问题是:如何在同一个控制器操作中同时响应 PUT 和 POST 请求?

4

1 回答 1

2

有内置的方法可以做到这一点。使用AcceptVerbsAttribute

[AcceptVerbs(HttpVerbs.Post | HttpVerbs.Put)]
public ActionResult Include()
{
}
于 2014-04-16T14:30:00.893 回答