这是我的 DefaultApi 配置:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}/{action}",
defaults: new { action = "DefaultAction", id = RouteParameter.Optional }
);
[ActionName("DefaultAction")]
public HttpResponseMessage Get(string id)
[ActionName("DefaultAction")]
public HttpResponseMessage Post(MyClass obj)
为什么 GET
可以正常工作,但使用 POST
我会收到 404 Not Found
错误?
有什么想法或建议吗?
编辑:
客户端 JavaScript:
$.ajax({
type: "POST",
url: "@Url.Content("~/api/controllername")",
data: args,
200: function (data) {
......
}
});
最佳答案
我遇到了类似的问题,解决方案是将 [FromBody]
添加到方法的参数中,如下所示:
[HttpPost]
public void PostIncreaseViewCounter([FromBody]int id)
{
}
关于c# - 为什么在 ASP.NET Web API 中找不到我的 POST 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18838756/