Tengo la siguiente acción en un ApiController:ASP.NET Web API: El recurso solicitado no soporta http método 'GET'
public string Something()
{
return "value";
}
Y he configurado mis rutas de la siguiente manera:
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
en la beta, esto funcionó muy bien, pero me acaba de actualizar a la última versión Release Candidate y ahora estoy teniendo errores en llamadas así:
Th El recurso solicitado no es compatible con el método http 'GET'.
¿Por qué ya no funciona?
(supongo que podría deshacerse de {acción} y acaba de hacer una tonelada de controladores, pero que se siente desordenado.)
acaba de encontrar esto, gracias por la corrección, pero curioso, ¿por qué tengo que hacer esto con mis métodos personalizados, pero no el método predeterminado "Obtener"? Tengo un método Get creado por la plantilla para el controlador, pero no está decorado. ¿Es esto solo por convención debido al nombre Get? – SelAromDotNet
@Josh: ¡Sí! Cuando el nombre del método de acción comienza con "Obtener ...", no tiene que marcarlo como un método GET. Lea más aquí: http://www.asp.net/web-api/overview/web-api-routing-and-actions/routing-in-aspnet-web-api –
Hice lo sugerido en la respuesta, pero ahora ambos de mis llamadas, Get y Post, están siendo redirigidas a Get Action. ¿Alguna ayuda, por favor? –