如何在 ASP.NET Core WebApi 中将键值对传递给 HttpGet?

How to pass key values pairs to HttpGet in ASP.NET Core WebApi?

我正在创建一个 WebApi,我需要为我的 GET 端点获取一个键值对。我在 POST 方法总线中找到了一些使用字典的示例,这似乎不适用于 GET

到目前为止我试过这个:

[HttpGet]
public IActionResult Get([FromQuery] Dictionary<string, string> myVar)
{
}

我正在使用 swagger 来测试 API,如果我通过了 {"key":"value"},我得到的字典只有一对,值是我传入的整个对象。({[myVar, {"key":"value"}]})

将多个键值对传递给 GET 方法的 WebApi 的正确方法是什么?

编辑:根本问题是我使用 swagger (swashbuckle) 来测试我的端点。并且在这个问题的时刻它不支持动态查询参数 Issue on github. It should support it once OpenApi v3 support is added to swashbucle Issue on github.

您应该能够使用以下结构调用端点并通过 Web API 的内置绑定器自动绑定值。

https://example.com/api/values?1=john&2=jane

1 和 2=字典中相应条目的键。 约翰和简=值