MVC4 webapiベータ版をRCに更新してから、問題の解決策を求める以前の質問をいくつか行いました。今は一番順調ですが、理由がわからないものがあります。
この単純なコントローラーには、POSTを受け入れるものとGETを受け入れるものがあります。HTMLフォームからリクエストを送信してこれらを実行しようとすると、GETコントローラーのみが検出され、POSTコントローラーは次のエラーを返します。
{
"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'."
}
POSTコントローラーが見つからないのはなぜですか?
コントローラー
public class PlayController : ApiController
{
[HttpPost] // not found
public string Test(string output)
{
return output;
}
[HttpGet] // works
public string Test2(string output)
{
return output;
}
}
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>