我有上ApiController了以下行动:的ASP.NET Web API:请求的资源不支持HTTP方法“GET”
public string Something()
{
return "value";
}
而且我已经配置了我的路线如下:
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
在测试版,这工作得很好,但我只更新到最新的发布候选,现在我看到的错误上的调用是这样的:
钍e请求的资源不支持http方法'GET'。
为什么不再工作?
(我想我可以摆脱{行动},只是做一吨的控制器,但感觉凌乱。)
刚刚遇到了这个,感谢修复,但好奇,为什么我必须用我的自定义方法做到这一点,但不是默认的“Get”方法?我有一个由控制器模板创建的Get方法,但没有进行装饰。这是否仅仅是因为名字Get? – SelAromDotNet
@Josh:是的!当操作方法的名称以“Get ...”开头时,您不必将其标记为GET方法。在这里阅读更多:http://www.asp.net/web-api/overview/web-api-routing-and-actions/routing-in-aspnet-web-api –
我按照答案中的建议做了,但现在我的电话Get和Post被重定向到Get Action。请帮忙吗? –