工作,我用屬性路由,但是當我指定一個空Route
屬性我得到以下錯誤:的ASP.NET Web API控制器不無路由名稱
405.0 - Method Not Allowed
然而,如果我在屬性中添加一個路由名稱,如[Route("bar")]
,則一切按預期工作。
爲什麼這些操作方法之一按預期工作,而另一個會產生錯誤?
[System.Web.Http.RoutePrefix("foo")]
public partial class MyController : ApiController
{
[System.Web.Http.HttpPost]
[System.Web.Http.Route("bar")] // I am able to POST to /foo/bar
public async Task<MyResponseModel> BarMethod([FromBody]MyArgumentsModel arguments)
{
}
[System.Web.Http.HttpPost]
[System.Web.Http.Route] // Error when I POST to /foo, "Method Not Allowed"
public async Task<MyResponseModel> FooMethod([FromBody]MyArgumentsModel arguments)
{
}
}
任何想法我可能會失蹤?
你並不需要使用[System.Web程序.Http.Route。只需將其刪除,該方法將繼承控制器路由。 –