У меня есть угловое/MVC приложение. Пользователь может изменить запись, нажав кнопку a, вызывает службу, которая выполняет запись, чтобы обновить запись в БД. Он попадает в контроллер (я имею точку останова на конструктор), но, а не метод и бросает обратно 405.Угловое сообщение приложения для MVC webapi back end возвращает 405
Кнопка Click обработчик:
$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);
}
}
Любые идеи?
Я пробовал несколько вариантов по методу конечных точек. Тот, который принимает объект как параметр и также пытается использовать вместо него httpput. Примечание. служба ресурсов действительно работает, поскольку у меня есть метод Get, который извлекает данные в первую очередь. – DazManCat