Zrobiłem kilka poprzednich pytań z prośbą o pomoc w problemach, od kiedy zaktualizowałem webapi beta MVC4 do RC. Teraz mam najwięcej, ale tutaj nie mogę znaleźć przyczyny.Prosty kontroler, który pobiera POST, nie został znaleziony.
Dla tego prostego kontrolera mam taki, który akceptuje POST i taki, który akceptuje GET. Kiedy próbuję uruchomić te, wysyłając żądanie z formularza HTML, znajduje się tylko kontroler GET, podczas gdy POST zwróci mi następujący błąd.
{
"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'."
}
Dlaczego nie znaleziono sterownika POST?
Kontrolery
public class PlayController : ApiController
{
[HttpPost] // not found
public string Test(string output)
{
return output;
}
[HttpGet] // works
public string Test2(string output)
{
return output;
}
}
formularz 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>
Jeśli mogę zadzwonić 3 lata później, dziękuję !! To rozwiązało problem, który spędziłem wiele godzin. Właśnie o to chodzi w SO. –
Mam ten sam błąd, gdy miałem niezgodność nazwy parametru między webApiConfig.cs a procedurą w kontrolerze. –