Я видел много вопросов о той же проблеме, но я действительно не могу понять, что я делаю неправильно. Я получаю ошибку 405 при отправке запроса на метод InscricaoSecretaria/Salvar.asp.net web api 405 метод не допускается, сообщение, настраиваемое действие
Вот мой конфигурационный файл:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MessageHandlers.Add(new AuthorizationHandler());
// Default Route Configuration
config.Routes.MapHttpRoute(
name: "DefaultApi2",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
// Unity Container Configuration
IUnityContainer container = new UnityContainer();
container.RegisterType<BusinessContext>(new InjectionConstructor(ConfigurationManager.ConnectionStrings["HabileConnection"].ConnectionString));
config.DependencyResolver = new UnityResolver(container);
}
}
Вот мой контроллер
public class InscricaoSecretariaController : ApiController
{
[HttpPost]
public HttpResponseMessage Salvar(InscricaoSecretaria inscricao)
{
return null;
}
}
и Ajax вызова (angularjs). Я использую метод с именем «salvar» углового модуля, который запускается нажатием кнопки.
"use strict";
(function(){
var restClient = angular.module("restClient", ["ngResource"]);
var serviceURL = "/habileapp/api/";
restClient.factory("InscricaoResource", ["$resource", function ($resource) {
return $resource(serviceURL + "InscricaoSecretaria", null, {
"recuperar": {
"method": "get"
},
"salvar": {
"method": "post",
"url": serviceURL + "inscricaoSecretaria/Salvar"
},
"finalizar": {
"method": "post",
"url": serviceURL + "inscricaoSecretaria/Finalizar"
}
});
}]);
})();
Сервер отвечает с этим сообщением об ошибке:
The requested resource does not support http method 'POST'.
EDIT: Вот некоторые заголовки запроса:
Request URL:http://localhost/habileapp/api/inscricaoSecretaria/Salvar
Request Method:POST
Status Code:405 Method Not Allowed
Можете ли вы разместить сообщение об ошибке? – Adam
Какой метод вы отправляете? посмотрите на заголовок http, theres что-то испортило запрошенный URI. – Fals
@WhyCry Я обновил описание –