我正在同一个域中使用WebApi2实现MVC 5应用程序 . 我现在的问题是如何处理WebApi中的错误404 . 我在WebApi中使用路由 .
[RoutePrefix("myapi")]
public class MyApiController : ApiController
{
[Route("value")]
public string myvalue()
{
return "value";
}
}
现在我有我的url "/myapi/value"
返回值字符串 . 问题是我请求 "/myapi/value/bla/bla"
或任何不在我的API中的URL,它返回错误404 .
我试过这个链接http://weblogs.asp.net/imranbaloch/handling-http-404-error-in-asp-net-web-api,它只适用于WebApi项目,但不适用于MVC WebApi项目 .
请帮忙 . TIA
更新:
请仔细阅读!!!!
如果您未在WebApi中处理404,这将是默认页面 . 它包括你的物理路径 .
1 回答
更新:
我认为以下有关如何实现WebApi 2项目的错误处理的更好描述:http://www.asp.net/web-api/overview/error-handling/web-api-global-error-handling .
在同一个项目中组合MVC和WebApi时,我的项目有两个问题 .
第一个是我的普通MVC页面的错误处理不再起作用 . 为了解决这个问题,我首先通过MVC控制器路由初始化了WebApi路由,并在web.config中进行了一些小调整,如帖子中所述 .
其次,如果您想处理无效的webapi路由,例如正确的目录但具有无法解析的错误值 . 尝试以下链接的"Global error handling"部分中的解决方案:http://weblogs.asp.net/jongalloway/looking-at-asp-net-mvc-5-1-and-web-api-2-1-part-4-web-api-help-pages-bson-and-global-error-handling