ASP.NET Web API、405 状态码和异常处理
Posted
技术标签:
【中文标题】ASP.NET Web API、405 状态码和异常处理【英文标题】:ASP.NET Web API, 405 status code and exception handling 【发布时间】:2012-09-21 11:08:41 【问题描述】:有没有办法在 Web API 上捕获 405 并在发送错误动词时返回自定义消息?我使用 ExceptionFilterAttribute 捕获了 500 个。我想返回一个 JSON 或 XML 对象。
【问题讨论】:
您能举例说明如何发送错误的动词,例如:当客户端仍然发送 POST 时,您的 api 不支持 POST? 【参考方案1】:HttpStatusCode.MethodNotAllowed 是你的朋友。
http://msdn.microsoft.com/en-us/library/system.net.httpstatuscode.aspx
在您的过滤器中检查 Request.StatusCode。
【讨论】:
【参考方案2】:您可以使用 System.Web 中的 customErrors 元素在 web.config 中设置它。
<customErrors defaultRedirect="url" mode="On">
<error statusCode="statuscode" redirect="url"/>
</customErrors>
【讨论】:
以上是关于ASP.NET Web API、405 状态码和异常处理的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET Web API - 尝试传递参数时不支持 GET HTTP Verb (405)
从 asp.net 核心应用程序发出 DELETE 请求时出现 405 错误
如何从 ASP.NET 核心 mvc 向 asp.net 核心中的 Web API 发出 PUT 请求?