1

CRUD操作を管理するためのMVC 5コントローラ付きのMVC Web APIを作成しました。ここで 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(); 
     } } 

、ここでURLがはlocalhost/API /ユーザー/ GetAllUsersが言うから、私はこのコントローラにアクセスすると、私の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 } 
     ); 
    } 

です 期待どおりにすべてのユーザーを返します。

しかし、他の方法でアクセスしようとすると、localhost/api/Userがありません。ファイルが見つかりませんでした。エラーが表示され、デフォルトのエラーページが表示されます。

このデフォルトのエラーページの代わりに必要なものは、カスタムエラーページを表示する必要があります。 これはどのように達成できますか?

+0

それはあなたが表示したいと** ** APIのURLにカスタムエラーページですか? – HEGDE

+0

@HEGDEはい、それは私が探しているものです。 – abhi

答えて

1

ASP.NET Web APIフレームワークを使用してHTTP RESTfulアプリケーションを開発しているとします。このアプリケーションでは、集中管理された場所でHTTP 404エラーを処理する必要があります。 このブログは、必要なものを見つけるのに役立つかもしれません。

Handling HTTP 404 Error in ASP.NET Web API

+0

ありがとうございます。 私はそれを達成するために別の方法を使用しましたが、それは解決に役立ちました。 – abhi

関連する問題