He hecho algunas preguntas previas para pedir ayuda con los problemas desde que actualicé MVC4 webapi beta a RC. Tengo más en orden ahora, pero aquí hay uno que no puedo entender por qué.Controlador simple que toma POST no se encuentra
Para este controlador simple, tengo uno que acepta un POST y otro que acepta GET. Cuando intento ejecutarlos enviando una solicitud desde un formulario HTML, solo se encuentra el controlador GET mientras que el POST me devuelve el siguiente error.
{
"Message": "No HTTP resource was found that matches the request URI 'http://localhost/webapi/api/play/test'.",
"MessageDetail": "No action was found on the controller 'Play' that matches the name 'test'."
}
¿Por qué no se encuentra el controlador POST?
controladores
public class PlayController : ApiController
{
[HttpPost] // not found
public string Test(string output)
{
return output;
}
[HttpGet] // works
public string Test2(string output)
{
return output;
}
}
formulario HTML
<form action="http://localhost/webapi/api/play/test" method="post">
<input type="text" name="output" />
<input type="submit" name="submit" />
</form>
<form action="http://localhost/webapi/api/play/test2" method="get">
<input type="text" name="output" />
<input type="submit" name="submit" />
</form>
Si puedo sonar tres años después, ¡¡¡Gracias !! Esto resolvió un problema que acabo de pasar horas. Esto es exactamente de lo que SO se trata. –
Recibí el mismo error cuando tenía una discrepancia de nombre de parámetro entre webApiConfig.cs y el procedimiento en el controlador. –