我見過很多關於同一問題的問題,但我真的無法弄清楚我做錯了什麼。 當我向InscricaoSecretaria/Salvar方法發送請求時,收到405錯誤。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」的方法,該方法通過點擊按鈕來觸發。
The requested resource does not support http method 'POST'.
編輯: 這裏有一些請求頭:
Request URL:http://localhost/habileapp/api/inscricaoSecretaria/Salvar
Request Method:POST
Status Code:405 Method Not Allowed
您可以發佈錯誤消息嗎? – Adam
您要發佈哪種方法?看看http標題,這些東西搞亂了請求的URI。 – Fals
@WhyCry我已經更新了描述 –