我是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,谢谢你的回应。但是这个限制的背景是什么? –