只需閱讀一些RESTful API設計最佳實踐即可。我來自ASP.Net Web窗體背景,我一直在調用WebMethods後面的代碼來將數據返回給我的客戶端JavaScript。對我來說,將這些WebMethod移出到一個API似乎邏輯上,所以我們可以開始集中和標準化我們如何回調終端系統。REST風格的API命名資源和控制器設計
我理解REST的目的是對資源爲GET,POST,PUT和DELETE分類的操作。這些資源也可以使用名詞而不是動詞。
1) 所以我有兩個方法,返回的數據生成報表。由於客戶端綁定和每個報告的其他特定屬性,我創建了各自的類別細分突發事件和細分分鐘。
[的WebMethod] Top10MinutesBreakdowns
|Machine|Department|Total Minutes|etc.|
[的WebMethod] Top10IncidentsBreakdowns
|Machine|Department|Total Incidents|etc.|
如果這些方法來組織:
GET /Breakdowns?report=minutes&type=top10
GET /Breakdowns?report=incidents&type=top10
然後在我的故障控制器中檢查參數並調用相應的現有業務層功能來返回數據?
2)報告返回兩個不同的特性(簡單起見:分鐘和事件#)的#。我真的應該將這兩種方法分組到同一個控制器嗎?
這是我很困惑,因爲報表使用不同的屬性,但根本目的是擊穿。也許這個問題更適合重新設計我的業務對象本身。我發現我們現有的業務層有很多爲綁定客戶端視圖而創建的類。我確信在嘗試構建此API時會遇到更多這些場景。