自从我将 MVC4 webapi beta 更新为 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>