1

我创建了一个MVC Web API和MVC 5控制器来管理CRUD操作。apiController中不存在的控制器的自定义错误页面

这里是我的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(); 
     } } 

,这里是我的WebAPIconfig文件

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说本地主机/ API /用户/ GetAllUsers访问此控制器 它按预期返回所有用户。

但是,如果我尝试以其他方式访问说本地主机/ API /用户这是不存在的,将抛出文件未找到错误,并显示默认错误页面。

我需要的是,而不是这个默认的错误页面自定义错误页面需要显示。 这是如何实现的?

+0

是它** API网址**,你想显示自定义错误页? – HEGDE

+0

@HEGDE是的,这就是我要找的。 – abhi

回答

1

假设您正在开发使用ASP.NET Web API框架的HTTP RESTful应用程序。在这个应用程序中,你需要在一个集中的位置处理HTTP 404错误。 这个博客可能会帮助你找到你需要的东西。

Handling HTTP 404 Error in ASP.NET Web API

+0

谢谢。 它帮助解决,虽然我用不同的方法来实现它。 – abhi