我是Web API的新手,我已經閱讀了一些文檔,但是對架構有些誤解。即我需要爲不同的實體創建許多get方法。但是我可以有且只有一個不帶參數的GET方法。所以,我必須再創建一個API控制器,即使這個控制器根本只有一個方法?這個限制有什麼意義?Web API方法
0
A
回答
2
從網址/路線的角度考慮。如果你想訪問一個Foo實體,你可以去/ api/foo,如果你想訪問一個Bar實體,你可以去/ api/bar。
話雖如此,那就是約定,如果你願意,你可以打破它。你肯定可以在一個控制器中有多個GET方法。行動只需要有不同的路線。你可以使用屬性路由來設置它,例如
public class FooBarController : ApiController
{
[Route("foo")]
public Foo Get() {...}
[Route("bar")]
public Bar GetBar() {...}
}
然而,你通常會想堅持到不同的控制器,因爲它使你的代碼更易於維護不同的資源 - 它允許模型和控制器之間有明顯的相關。擁有許多小型控制器沒有任何問題。
+0
是的,但通常需要2種獲得2種Foo集合的方法,只是不同的條件。有一種方法會更好,但參數不同? –
+0
您可以在同一個控制器中爲不同的條件創建多個GET方法。他們只需要在Get()方法中接收這些「條件」作爲參數。例如。獲取(字符串ID)。 – charisk
相關問題
- 1. ASP.NET Web API登錄方法
- 2. Web API中的「GetBy」方法
- 3. 通用Web Api方法
- 4. 使用Web Api GET方法
- 5. 調用另一個流內容web api方法的Web api方法?
- 6. Web API令牌方案的好方法?
- 7. Breezejs Web api OData方法不允許
- 8. Web API Post方法不保存數據
- 9. Web Api 2方法不允許(405)
- 10. 使用WebAssembly調用Web API方法
- 11. 從web api方法返回異常
- 12. 405方法不允許.Net Web Api
- 13. Angular - Web api路由放置方法
- 14. 的ASP.NET Web API結合方法
- 15. 靜默防止WEB API方法執行
- 16. Asp.net的web API獲取方法
- 17. Web Api Post方法FromBody錯誤
- 18. 鎖定Web API控制器方法
- 19. 如何使web API Post方法調用
- 20. jQuery調用頁面方法vs web服務vs Web API
- 21. 只有當web api在線時才能識別新的Web Api方法
- 22. 如何等待第三方庫中的異步方法 - web api
- 23. Angular 4 + Web API無法使用GET方法檢索數據
- 24. 方法無法找到調用web服務API
- 25. 無法啓用的Web API
- 26. Win32 API方法
- 27. 如何在asp.net web api方法中使用POST方法在目標c中?
- 28. 重寫ExecuteAsync方法以避免重複Web Api操作的代碼方法
- 29. 異步Web方法
- 30. Web方法的語法
在路線中包含方法名稱,然後使用多種方法。 – SLaks
@SLaks,謝謝你的迴應。但是這個限制的背景是什麼? –