错误处理 – Web API – 如何防止404 HTML响应?

前端之家收集整理的这篇文章主要介绍了错误处理 – Web API – 如何防止404 HTML响应?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何更改ASP.NET Web API永远不会返回text / html 404响应?我宁愿它用ExceptionMessage或Message发回 XML / JSON.从IMO返回HTML是没有意义的.

只是为了澄清,这适用于URL真正无效的情况.

另一个问题是我在同一个项目中托管MVC和Web API,所以我需要做出不同的回应.我猜这将取决于URL是否以“api”开头.

解决方法

如果您只是致电,则不会获得这些HTML数据
抛出新的HttpResponseException(HttpStatusCode.NotFound);
在你的ApiController方法的某个地方.

只有当路由机制无法满足您对任何ApiController方法的请求时,才能获得此页面.因此,HTML消息附加在应用程序级别而不是ApiControllers中.以下是如何处理ASP.NET应用程序Custom error pages on ASP>NET MVC3中的错误的非常好的示例.

我甚至会更进一步检查请求是否来自WebAPI(而不是MVC),如果是,则重定向到ErrorsContoller中的IHttpActionResult.
如何准备IHttpActionResult以获得响应,你可以在这里阅读Action Results in Web API 2

猜你在找的HTML相关文章