如何在 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=字典中相应条目的键。
约翰和简=值
我正在创建一个 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=字典中相应条目的键。 约翰和简=值