我在写一个小型的Web API控制器。目前,我已经路由的如何在ASP.NET核心2.0控制器上同时具有'按ID'和'按名称'路由?
[HttpGet("{id}"}]
路径,它工作正常:本地主机:8080 /控制器/ 1返回与ID相同的项目1
的问题是,我想加入'get by name'request:
[HttpGet("{name}")]
我该怎么去做这件事?
谢谢您的时间
我在写一个小型的Web API控制器。目前,我已经路由的如何在ASP.NET核心2.0控制器上同时具有'按ID'和'按名称'路由?
[HttpGet("{id}"}]
路径,它工作正常:本地主机:8080 /控制器/ 1返回与ID相同的项目1
的问题是,我想加入'get by name'request:
[HttpGet("{name}")]
我该怎么去做这件事?
谢谢您的时间
在你可以把一个路由约束,表明id
是一个int这个确切的例子。它应该在那之后正确地路由。
[HttpGet("{id:int}")]
public string GetById(int id)
{
return id.ToString();
}
[HttpGet("{name}")]
public string GetByName(string name)
{
return name + " name";
}
非常感谢。完美的作品。 –
为什么我看到下一个错误:HttpGetAttribute不包含带1个参数的构造函数?我正在使用web api应用程序。 –
不是很确定你在问什么..你想在同一个类中有两个GET请求吗? – AGrammerPro
基本上我想在同一个控制器路由上有2个GET请求。一个接收一个字符串,另一个接收一个整数。现在问题现在可以通过下面的答案解决,对不起,我不能更清楚地说明措辞。 –