網頁API路線終點所以,我有兩個獨立的項目(一個網頁API 2,一個MVC)這樣的圖:強類型MVC中
的MVC具有控制器和一個服務層。 MVC應用程序調用web api控制器的服務。例如:
await _service.GetGiftCards("/api/GiftCards/ViewAllByUser", email);
的網絡API控制器的路由是定義像這樣:
[RoutePrefix("api/giftcards")]
[Route("ViewAllByUser")]
public async Task<List<GiftCard>> GetGiftCardsForUser(string email){}
所以定義在MVC應用程序中的端點的路線,我只是通過像「字符串/ API/FIELDS禮品卡/ ViewAllByUser「上面。
我的問題是,是否有更好的方式來排序的「強類型」被定義,所以我可以做這樣的事情?:
await _service.GetGiftCards(GiftCardController.ViewAllByUser, email);
我想在最低的網絡API路線的終點我總是可以只存儲端點字符串像這樣一個靜態類,所以他們至少可以在一個地方進行更新:
public static class ApiEndpoints(){
public string GetAllGiftCards = "api/GiftCards/ViewAllByUser";
}
但我希望知道是否有更好的方法或其他建議。謝謝!
是否有理由明確指定路線而不是依賴約定? – timothyclifford
Web API控制器將用於幾個外部應用程序(Web,移動等),並將封裝數據訪問和業務邏輯,因此我將它們命名爲更像描述性方法名稱,但我可以看到依賴約定的用法在大多數情況下相反。但是不管我的路由名是什麼,我仍然希望能夠強烈引用它來使用它。 – reverence12389
如果你想要一個統一資源定位符的強類型表示,那麼[有一種類型](https://msdn.microsoft.com/en-us/library/system.uri(v = vs.110) )的.aspx)。也許爲這些傢伙保留一個行動圖?儘管如此,你最終會在某些時候將它們構建成字符串,因爲這就是網址。 –