用swagger訪問https://localhost:44360/api/ads/1, 得到的結果是 TypeError: Failed to fetch。
一開始以為是后端代碼問題,檢查了好久,才發現是AdBlockPlus 把它當成廣告過濾了。
I have the following routing, which works on invokation /api/demo/info/34
.
[Route("api/demo")]
public class Demo : Controller
{
[HttpGet("Info/{x}")]
public JsonResult GetInfos(string x) { ... }
}
Now, I'd like to pass a query string to select the ID, like so: /api/demo/info?x=34
. How should I rephrase the attribute for that?
When I tried entering [HttpGet("Info?x={x}")]
, the error message said that the question mark isn't valid there. I want to resolve it through the attributive approach and routing from the default mapping isn't an option.
----------------------------------------------
All you should need to do is to declare your attribute as:
[HttpGet("Info")]
while keeping the signature of the method as GetInfos(string x)
. In a GET route, WebAPI picks up all the parameters from the signature, and those which aren't present in the route can be passed as query string arguments as long as the name in the query string matches the name of the parameter.