当前位置:  开发笔记 > 编程语言 > 正文

405不允许使用的方法Web API 2

如何解决《405不允许使用的方法WebAPI2》经验,为你挑选了0个好方法。

我几乎遍历了所有我能找到的关于SO等的文章。我已经对进行了更改以Web.config符合答案,因为它们似乎都指向删除WebDAV模块和处理程序。

但是,我仍然收到错误:

405不允许的方法

请求的资源不支持http方法“ PUT”。

注意:这最初只是一个MVC 4项目。我添加了工件以支持Web API。好像我可能错过了一些东西。

注意:GET从Angular进行的调用工作正常。

Web API路由配置
configuration.Routes.MapHttpRoute(
    name: "Default API",
    routeTemplate: "api/{controller}/{id}",
    defaults: new { action = "Get", id = RouteParameter.Optional },
    constraints: new { id = @"[\da-z-]{36}" });

configuration.Routes.MapHttpRoute(
    name: "Default API with Action",
    routeTemplate: "api/{controller}/{action}",
    defaults: new { action = "Get" });

var formatter = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
formatter.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver();
Web.config

  


  
  
  
  
  
  
  

PUT API输入
public async Task Put([FromBody] EditUserViewModel viewModel)
客户端
vm.model.$update(function () {
    $state.go(userStates.app);
});

是否有可能陷入第二种路由配置?如果是这样,如何验证.NET尝试使用的路由配置?

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有