apiController

时间:2017-06-29 09:20:13

标签: c# asp.net-mvc asp.net-web-api error-handling custom-error-pages

我创建了一个带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();
        } }

这是我的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访问此控制器时,请说 localhost / api / User / GetAllUsers 它按预期返回所有用户。

但是如果我尝试以其他方式访问 localhost / api / User 而不存在,则会抛出找不到文件错误并显示默认错误页面。

我需要的是代替此默认错误页面需要显示自定义错误页面。 如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

让我们假设您正在使用ASP.NET Web API框架开发HTTP RESTful应用程序。在此应用程序中,您需要在集中位置处理HTTP 404错误。 此博客可以帮助您找到所需内容。

Handling HTTP 404 Error in ASP.NET Web API