我正在創建我的第一個ASP.NET Web API。我正在嘗試遵循標準的REST URL。我的API將返回搜索結果記錄。我的URL應該是 -URL中的Web API嵌套資源
../api/categories/{categoryId}/subcategories/{subCategoryId}/records?SearchCriteria
我打算使用OData的搜索和基本/摘要式身份驗證在IIS。我的問題是嵌套的資源。在我返回搜索結果之前,我需要檢查用戶是否有權訪問此類別和子類別。 現在我創建了我的Visual Studio 2012 - MVC4/Web API項目以開始。在App_Start文件夾中,我認爲有2個文件是URL和資源相關的順序。
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 }
);
在這種模式下,它工作正常,如果我的網址是../api/records?SearchCriteria但不是我上面提到的URL設計。我明白我不得不做更多的閱讀,但至今無法找到正確的文章。需要您提供關於如何實現我的URL以及這兩個文件需要哪些更改的建議。或者,我還有其他一些配置在這裏嗎?提前致謝。