未找到 WebApi Http 错误 404
WebApi Http Error 404 Not Found
我在使用 WebApi 5.2.3 时遇到问题,如果我有这样的控制器:
[RoutePrefix("api/values")]
public class ValuesController : ApiController
{
[Route]
public IHttpActionResult Get()
{
return Ok("data");
}
}
目前,如果我向 api/values 发出请求,我会检索到我的回复 "data" 就好了。我想处理找不到路由的情况,例如 "api/values/foo"。当前正在使 api/values/foo 请求 returns 成为典型的 IIS Http 错误 404.0 未找到页面。我希望能够根据协商的内容类型处理此问题和 return json 或 xml 响应。有没有人 运行 以前遇到过这个问题,你是怎么解决的?
提前致谢。
还要注意,我创建了一个 DelegatingHandler 并确认我的请求没有进入 WebApi 堆栈。有什么想法吗?
您可能需要创建自定义 controller/action 选择器 (IHttpControllerSelector/IHttpActionSelector),请查看这篇文章,其中创建了一个自定义选择器来处理 404 错误。
http://weblogs.asp.net/imranbaloch/handling-http-404-error-in-asp-net-web-api
希望对您有所帮助。
我在使用 WebApi 5.2.3 时遇到问题,如果我有这样的控制器:
[RoutePrefix("api/values")]
public class ValuesController : ApiController
{
[Route]
public IHttpActionResult Get()
{
return Ok("data");
}
}
目前,如果我向 api/values 发出请求,我会检索到我的回复 "data" 就好了。我想处理找不到路由的情况,例如 "api/values/foo"。当前正在使 api/values/foo 请求 returns 成为典型的 IIS Http 错误 404.0 未找到页面。我希望能够根据协商的内容类型处理此问题和 return json 或 xml 响应。有没有人 运行 以前遇到过这个问题,你是怎么解决的?
提前致谢。
还要注意,我创建了一个 DelegatingHandler 并确认我的请求没有进入 WebApi 堆栈。有什么想法吗?
您可能需要创建自定义 controller/action 选择器 (IHttpControllerSelector/IHttpActionSelector),请查看这篇文章,其中创建了一个自定义选择器来处理 404 错误。
http://weblogs.asp.net/imranbaloch/handling-http-404-error-in-asp-net-web-api
希望对您有所帮助。