gpt4 book ai didi

asp.net-mvc - 如何根据接受的 HTTP 动词重载 ASP.NET MVC 操作?

转载 作者:行者123 更新时间:2023-12-03 11:10:21 27 4
gpt4 key购买 nike

想要为基于 REST 的 API 的 GET/PUT/DELETE/POST 使用相同的 URL,但是当 Actions 唯一不同的是它接受哪些 HTTP 动词时,它认为它们是重复的!

“类型已经用相同的参数类型定义了一个名为‘索引’的成员。”

我说,那又怎样?这个只接受GET,这个只接受POST……应该可以共存吧?

如何?

最佳答案

这不是 ASP.NET MVC 限制或其他什么。这是 .NET 以及类的工作方式:无论您多么努力,都不能在同一个类中使用两个具有相同参数的方法。您可以使用 [ActionName] 作弊属性:

[HttpGet]
[ActionName("Foo")]
public ActionResult GetMe()
{
...
}

[HttpPut]
[ActionName("Foo")]
public ActionResult PutMe()
{
...
}

[HttpDelete]
[ActionName("Foo")]
public ActionResult DeleteMe()
{
...
}

[HttpPost]
[ActionName("Foo")]
public ActionResult PostMe()
{
...
}

当然,在真正的 RESTFul 应用程序中,不同的动词也会采用不同的参数,因此您很少会遇到这种情况。

你可以看看 SimplyRestful有关如何组织路线的一些想法。

关于asp.net-mvc - 如何根据接受的 HTTP 动词重载 ASP.NET MVC 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6348372/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com