我在寫一個小型的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請求。一個接收一個字符串,另一個接收一個整數。現在問題現在可以通過下面的答案解決,對不起,我不能更清楚地說明措辭。 –