如何在 ASP.NET 核心 2.0 控制器上同时拥有 'get by id' 和 'get by name' 路由?
How to have both 'get by id' and 'get by name' routes on ASP.NET core 2.0 controller?
我正在编写一个小型 Web API 控制器。目前我已经路由了一个
[HttpGet("{id}"}]
path 并且工作正常:localhost:8080/Controller/1 returns id 等于 1 的项目。
问题是我正在尝试添加一个 'get by name' 请求:
[HttpGet("{name}")]
我该怎么做呢?
感谢您的宝贵时间
在这个确切的示例中,您可以放入一个路由约束,指示 id
是一个整数。之后它应该正确路由。
[HttpGet("{id:int}")]
public string GetById(int id)
{
return id.ToString();
}
[HttpGet("{name}")]
public string GetByName(string name)
{
return name + " name";
}
我正在编写一个小型 Web API 控制器。目前我已经路由了一个
[HttpGet("{id}"}]
path 并且工作正常:localhost:8080/Controller/1 returns id 等于 1 的项目。
问题是我正在尝试添加一个 'get by name' 请求:
[HttpGet("{name}")]
我该怎么做呢?
感谢您的宝贵时间
在这个确切的示例中,您可以放入一个路由约束,指示 id
是一个整数。之后它应该正确路由。
[HttpGet("{id:int}")]
public string GetById(int id)
{
return id.ToString();
}
[HttpGet("{name}")]
public string GetByName(string name)
{
return name + " name";
}