I've got the following action on an ApiController:
public string Something()
{
return "value";
}
And I've configured my routes as follows:
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
In the beta, this worked just fine, but I just updated to the latest Release Candidate and now I'm seeing errors on calls like this:
The requested resource does not support http method 'GET'.
Why doesn't this work anymore?
(I suppose I could get rid of {action} and just make a ton of controllers, but that feels messy.)
If you have not configured any HttpMethod on your action in controller, it is assumed to be only HttpPost in RC. In Beta, it is assumed to support all methods - GET, PUT, POST and Delete. This is a small change from beta to RC. You could easily decore more than one httpmethod on your action with [AcceptVerbs("GET", "POST")].