asp.net-core - 路由中的动态查询字符串
问题描述
有没有办法接受 .NET Core API 2.X 中路由的查询字符串中的任何内容?例如,如果我将以下内容传递给相同的操作,但使用不同的查询字符串,我将收到包含查询字符串的响应。
localhost:PORT/api/values/echo?something=2&somethingelse=test
localhost:PORT/api/values/echo?word=hello-world
对这两个请求的响应分别是:
something=2&somethingelse=test
word=hello-world
我认为下面的尝试会奏效,但我错了。
[HttpGet("echo")]
public IActionResult Echo(dynamic query)
{
return Ok(query);
}
解决方案
[HttpGet("echo")]
public IActionResult Echo()
{
var query = Request.QueryString.ToString();
return Ok(query);
}
这是给你的情况。但通常我看不出它有什么意义,你可能想改用一个类。