apiController 中不存在的控制器的自定义错误页面
custom error pages for non existent controllers in apiController
我用 MVC 5 控制器创建了一个 MVC web API 来管理 CRUD 操作。
这是我的 API 控制器的片段:
public class UserController : ApiController
{// GET api/<controller>
public IEnumerable<User> GetAllUsers()
{
UserRepository urepo = new UserRepository();
return urepo.UserList(0);
}
public User GetUserByID(int userID)
{
UserRepository urepo = new UserRepository();
var userDetails = urepo.UserList(userID);
return (from n in userDetails where n.UserId == userID select n).SingleOrDefault();
} }
这是我的网络API配置文件
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
当我从 URL 访问这个控制器时说 localhost/api/User/GetAllUsers
它按预期返回所有用户。
但是如果我尝试以其他方式访问说 localhost/api/User 不存在,将抛出文件未找到错误并显示默认错误页面。
我需要的是显示自定义错误页面而不是默认错误页面。
如何实现?
假设您正在使用 ASP.NET Web API 框架开发 HTTP RESTful 应用程序。在此应用程序中,您需要在一个集中位置处理 HTTP 404 错误。
此博客可能会帮助您找到所需内容。
我用 MVC 5 控制器创建了一个 MVC web API 来管理 CRUD 操作。
这是我的 API 控制器的片段:
public class UserController : ApiController
{// GET api/<controller>
public IEnumerable<User> GetAllUsers()
{
UserRepository urepo = new UserRepository();
return urepo.UserList(0);
}
public User GetUserByID(int userID)
{
UserRepository urepo = new UserRepository();
var userDetails = urepo.UserList(userID);
return (from n in userDetails where n.UserId == userID select n).SingleOrDefault();
} }
这是我的网络API配置文件
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
当我从 URL 访问这个控制器时说 localhost/api/User/GetAllUsers 它按预期返回所有用户。
但是如果我尝试以其他方式访问说 localhost/api/User 不存在,将抛出文件未找到错误并显示默认错误页面。
我需要的是显示自定义错误页面而不是默认错误页面。 如何实现?
假设您正在使用 ASP.NET Web API 框架开发 HTTP RESTful 应用程序。在此应用程序中,您需要在一个集中位置处理 HTTP 404 错误。 此博客可能会帮助您找到所需内容。