Angular应用post到MVC webapi后端返回405
本文关键字:后端 返回 webapi MVC 应用 post Angular | 更新日期: 2023-09-27 18:17:11
我有一个angular/MVC应用组合。用户进入可以修改记录,单击一个按钮调用一个服务,该服务做一个帖子来更新数据库中的记录。它击中了控制器(我在构造函数上设置了断点),而不是方法,并抛出一个405。
点击处理程序:
$scope.submit = function() {
console.log($scope.request);
requests.updateRequest($scope.request).then(onUpdate, onError);
}
请求资源:var updateRequest = function (request) {
return $http.post("/api/request/update/", request).then(function (response) {
return response.data;
});
};
路由在一个单独的文件中配置:
config.Routes.MapHttpRoute("UpdateRequest", "api/request/update/", new { controller = "Requests", action = "UpdateRequest"});
RequestController构造函数被击中,但是,我无法弄清楚为什么以下端点没有被击中。
控制器方法:
[HttpPost]
public HttpResponseMessage UpdateRequest([FromBody] IRequest request)
{
try
{
var response = new HttpResponseMessage
{
StatusCode = HttpStatusCode.OK,
Content =
new ObjectContent(
typeof(int),
request.Id,
new JsonMediaTypeFormatter())
};
return response;
}
catch (Exception ex)
{
throw new HttpResponseException(HttpStatusCode.InternalServerError);
}
}
任何想法?
默认参数绑定不适用于接口。试着改变:
[FromBody] IRequest request
转换为具体类型,例如
请求请求
如果你想在你的webapi中使用一个接口,请查看这篇博客文章