当Web API中出现404 Not Found时返回自定义消息
本文关键字:Found Not 返回 自定义消息 Web API | 更新日期: 2023-09-27 17:50:26
我将config.Formatters.Remove(config.Formatters.XmlFormatter);
添加到WebApiConfig.cs的Register
方法中。. NET Web API项目。当404 Not Found异常发生时,它可以很好地返回JSON。我得到如下消息:
{"Message":"No HTTP resource was found that matches the request URI 'http://localhost:2034/api/dfdf'.","MessageDetail":"No type was found that matches the controller named 'dfdf'."}
是否可以重写此消息以返回自定义消息?如果有,是如何做到的?我正在使用Web API 2
这看起来很简单,但是在很多地方ASP。Net自动创建404(而不是您的控制器手动返回404响应)。
- 没有路由匹配。
- 路由匹配,但没有找到{controller}。
- 未找到具有{控制器}名称的类型。
- 在选定的控制器中没有找到匹配的操作方法,因为没有以请求HTTP方法动词开头的操作方法或没有找到具有IActionHttpMethodProviderRoute实现属性的操作方法或没有找到具有{action}名称的方法或没有找到具有匹配{action}名称的方法。
本文展示了如何实现自定义IHttpControllerSelector
和IHttpActionSelector
,它们使用一个典型的ApiController
来生成您的自定义404 HttpResponseMessage
。