初めての ASP.NET Web API を作成しています。標準の REST URL に従おうとしています。私の API は検索結果レコードを返します。私の URL は –
../api/categories/{categoryId}/subcategories/{subCategoryId}/records?SearchCriteria
IIS を介した検索と基本/ダイジェスト認証に oData を使用する予定です。私の問題は、ネストされたリソースにあります。検索結果を返す前に、ユーザーがこのカテゴリとサブカテゴリにアクセスできるかどうかを確認する必要があります。ここで、Visual Studio 2012 – MVC4 / Web API プロジェクトを作成して開始します。App_Start フォルダーには、URL とリソースの順序に関連すると思われる 2 つのファイルがあります。
1.RouteConfig.cs
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
2.WebApiConfig.cs
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
このモデルでは、私の URL が ../api/records?SearchCriteria の場合でも問題なく動作しますが、上記の私の URL 設計ではありません。もう少し読む必要があることは理解していますが、これまでのところ正しい記事を見つけることができません. 私の URL を取得する方法と、これら 2 つのファイルに必要な変更についてアドバイスが必要です。または、ここで見逃している他の構成はありますか? 前もって感謝します。