我是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. 使用Web Api GET方法
- 2. 通用Web Api方法
- 3. Web API - 多種POST方法
- 4. Web Api <T>方法
- 5. Web API中的「GetBy」方法
- 6. ASP.NET Web API登錄方法
- 7. 調用另一個流內容web api方法的Web api方法?
- 8. Web API令牌方案的好方法?
- 9. Web API,在哪裏放私人方法?
- 10. Web API異步異步方法
- 11. 的Web API POST方法frombody爲空
- 12. 從web api方法返回異常
- 13. 在Web API中創建POST方法
- 14. Web Api 2方法不允許(405)
- 15. Web Api Post方法FromBody錯誤
- 16. Web API方法沒有從angularjs調用
- 17. 如何創建web api方法?
- 18. 如何保護Web API的方法
- 19. Firefox中的Web Audio API的createMediaElementSource方法
- 20. ASP.NET的Web API方法GET和POST
- 21. Breezejs Web api OData方法不允許
- 22. Google Places API - Web App的方法
- 23. Web API Post方法不保存數據
- 24. 鎖定Web API控制器方法
- 25. 使用WebAssembly調用Web API方法
- 26. C#Web API方法返回403 Forbidden
- 27. Angular - Web api路由放置方法
- 28. 405方法不允許.Net Web Api
- 29. Web API刪除方法不起作用
- 30. 405方法不允許web api
在路線中包含方法名稱,然後使用多種方法。 – SLaks
@SLaks,謝謝你的迴應。但是這個限制的背景是什麼? –