我遇到了WebApi 5.2.3的问题,如果我有一个像这样的控制器:
[RoutePrefix("api/values")]
public class ValuesController : ApiController
{
[Route]
public IHttpActionResult Get()
{
return Ok("data");
}
}
目前,如果我向api / values发出请求,我会检索我的响应“数据”就好了。我想处理未找到的路由的情况,例如“api / values / foo”。目前,使api / values / foo请求返回典型的IIS Http Error 404.0 Not Found页面。我希望能够处理这个并根据协商的内容类型返回json或xml响应。有没有人遇到过这个问题,你是如何解决的?
提前致谢。
另外需要注意的是,我创建了一个DelegatingHandler并确认我的请求没有进入WebApi堆栈。有什么想法吗?
答案 0 :(得分:2)
You might need to create your custom controller/action selector (IHttpControllerSelector/IHttpActionSelector), take a look into this article which creates a custom one to handle the 404 error.
http://weblogs.asp.net/imranbaloch/handling-http-404-error-in-asp-net-web-api
Hope this helps.