WebApi Http错误404未找到

时间:2015-04-22 23:35:54

标签: asp.net-web-api asp.net-web-api2

我遇到了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堆栈。有什么想法吗?

1 个答案:

答案 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.