我要設計一個api可以輸入中文查詢也可以輸入數字查詢兩者查詢的欄位是不同的
範例:
1./api/Values/123456 --->應該要走到我的GetInt
2./api/Values/台積電 --->應該要走到我的GetString
這是我的controller
![https://ithelp.ithome.com.tw/upload/images/20210617/20127159D4jjb35blZ.jpg]
(https://ithelp.ithome.com.tw/upload/images/20210617/20127159D4jjb35blZ.jpg)
這是我的WebApiConfig
我不太清楚應該如何處理這部分
[Route("values/{id:int}")]
public string GetById(int id)
{
return "int";
}
[Route("values/{name}")]
public string GetByName(string name)
{
return "string";
}
應該是你想要的
Bearer Token嗎?
請參考 https://ithelp.ithome.com.tw/articles/10197166
您可能需要提供比較詳細的資訊才有辦法確認問題點喔,
如果是設定Authorize才導致無法通過,就不是route的問題,
Authorize機制前端呼叫時要有對應的資訊,就看您的驗證機制如何設計,可能是token或其他的作法以及要配合設計登出跟登入的API這樣前端才有辦法取得對應授權
很感謝兩位回覆,其實我也不太懂出錯在哪裡,但是後來他自己又好了起來,我原先有使用Authorize跟API KEY來開放權限,但是使用了Route他就不會進去判斷我的API KEY,這讓我非常困惑,我後來重新建立另外一個新專案是一樣的東西,就可以進入判斷,於是我懷疑是不是因為我的swagger套件,後來測試後又不像是swagger套件,現在是解決了問題但我不太清楚為何會發生這問題。
真的感謝兩位