问题描述
我希望实现 2 个 get 路由,定义为:
[HttpGet] public IActionResult GetProducts()
和
[HttpGet] public IActionResult GetProductByName([FromQuery(Name = "name")] string name)
我能做到吗?
解决方法
为什么不将它们变成两个独立的端点,一个类似于 [HttpGet("Products")]
,另一个端点类似于 [HttpGet("Products/{name}]"
?
这样你就可以像这样调用你的 API
.../Products
并取回您的所有产品或 .../Products/Name
并获取特定产品信息。您还可以将这些组合到一个端点 [HttpGet("Products/{name}]
中,然后如果 name
为 null 或为空,则返回所有产品。