asp.net-web-api – 请求的资源不支持http方法“PUT”
发布时间:2020-12-16 07:05:35 所属栏目:asp.Net 来源:网络整理
导读:我在我的Web API(MVC 4)中使用AttributeRouting. 为什么这样做? [AcceptVerbs("PUT")] [PUT("api/v1/tokens/current")] public MemoryToken UpdateToken([FromBody] DeviceTokenViewModel viewModel) {...} 这一个不是吗? [PUT("api/v1/tokens/current")]
我在我的Web API(MVC 4)中使用AttributeRouting.
为什么这样做? [AcceptVerbs("PUT")] [PUT("api/v1/tokens/current")] public MemoryToken UpdateToken([FromBody] DeviceTokenViewModel viewModel) {...} 这一个不是吗? [PUT("api/v1/tokens/current")] public MemoryToken UpdateToken([FromBody] DeviceTokenViewModel viewModel) {...} 错误消息:请求的资源不支持http方法“PUT”. 我只是感到困惑,因为与POST类似的东西工作正常(我不必指定接受的动词): [POST("api/v1/tokens")] public MemoryToken CreateToken() {...} 从其他各种帖子我相信它与我的web.config中的设置有关. Web服务器部分目前看起来像这样: <system.webServer> <validation validateIntegratedModeConfiguration="false" /> <modules runAllManagedModulesForAllRequests="true" /> <handlers> <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" /> <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" /> <remove name="ExtensionlessUrlHandler-Integrated-4.0" /> <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%Microsoft.NETFrameworkv4.0.30319aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%Microsoft.NETFramework64v4.0.30319aspnet_isapi.dll" preCondition="classicMode,bitness64" responseBufferLimit="0" /> <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" /> <add name="AttributeRouting" path="routes.axd" verb="*" type="AttributeRouting.Web.Logging.LogRoutesHandler,AttributeRouting.Web" /> </handlers> 我尝试过删除WebDav和其他东西.但到目前为止没有任何工作(除非在注释中明确允许PUT动词). 哦,我正在使用Visual Studios内置的开发服务器. 多谢你们! 解决方法
在这个
link中,如果没有任何动作匹配,它们将POST方法描述为默认方法.这就是为什么它仍然适用于没有HttpPost属性的CreateToken()方法.
>您可以使用以下属性指定HTTP方法:AcceptVerbs,HttpDelete,HttpGet,HttpHead,HttpOptions,HttpPatch,HttpPost或HttpPut.>否则,如果控制器方法的名称以“Get”,“Post”,“Put”,“Delete”,“Head”,“Options”或“Patch”开头,那么按照惯例,该操作支持该HTTP方法.>如果不是上述方法,则该方法支持POST. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 在Web.config中是否可以在指定目录中注册所有用
- asp.net – 实体框架CTP5,代码优先.可选的导航属性
- asp.net-mvc – 如何使用ASP.NET MVC 3编辑IEnumerable?
- asp.net – 拒绝访问web.config中的“admin”文件夹
- asp.net-mvc – 局部视图中不同模型类型的问题
- asp.net mvc datatable
- asp.net-mvc – Razor视图引擎.cshtml页面中的OutputCache
- ASP.NET – 将网站投入生产的基本清单
- asp.net-core-mvc – ASP.NET Core MVC控制器在单独的程序集
- asp.net-mvc – 将viewdata传递给asp.net mvc masterpages
推荐文章
站长推荐
- asp.net – 在.NET中使用TinyMCE有一种简单的Spe
- asp.net-core – 使用新的signalR for DotNet核心
- 一个关于解决序列化问题的编程技巧
- asp.net-mvc – ASP MVC 5项目’New Scaffolded
- asp.net-mvc – ASP.NET MVC获取下拉列表值
- asp.net-mvc – 在ASP.NET MVC中重定向后发布
- asp.net – 如何在.net 3.5中托管我的MVC3应用程
- asp.net-core – 简化的IOptions方法
- asp.net-mvc – 从客户端检测到潜在危险的Reques
- asp.net-mvc – ASP.NET MVC Action被调用两次
热点阅读