C# 解决不明确的路由问题

C# 解决不明确的路由问题,c#,.net,.net-core,get,webapi,C#,.net,.net Core,Get,Webapi,我希望实施2条get路线,其定义如下: GET/products-获取所有产品 GET/products?name={name}-查找与指定名称匹配的所有产品。 我使用的代码是: [HttpGet]public IActionResult GetProducts() 及 [HttpGet]public-IActionResult-GetProductByName([FromQuery(Name=“Name”)]字符串名) 我能实现它吗?为什么不把它们转换成两个独立的端点呢?一个是类似于[Http

我希望实施2条get路线,其定义如下:

  • GET/products
    -获取所有产品
  • GET/products?name={name}
    -查找与指定名称匹配的所有产品。 我使用的代码是:
  • [HttpGet]public IActionResult GetProducts()

    [HttpGet]public-IActionResult-GetProductByName([FromQuery(Name=“Name”)]字符串名)


    我能实现它吗?

    为什么不把它们转换成两个独立的端点呢?一个是类似于
    [HttpGet(“产品”)]
    的端点,另一个是
    [HttpGet(“产品/{name}]”

    这样您就可以像这样调用API了
    ../Products
    并取回您的所有产品,或
    ../Products/Name
    并获取特定的产品信息。您还可以将它们组合成一个端点
    [HttpGet(“Products/{Name}]
    然后返回所有产品,如果
    名称
    为null或空。

    您可以将其本身作为一个方法。如果名称为null或空,则返回所有产品或将第二个产品更改为类似
    /Products/{name}
    我得到了这些方法的规范。我必须遵循它。@user1672994非常有趣的方法!从来没有想过!有时候答案很简单。我喜欢你的想法!