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

问题描述 投票:0回答:1

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

到目前为止我试过这个:

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

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

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

编辑:潜在的问题是我使用swagger(swashbuckle)来测试我的端点。而在此问题的那一刻,它不支持动态查询参数Issue on github。一旦OpenApi v3支持添加到swashbucle Issue on github,它应该支持它。

c# asp.net-core-2.0 swagger-ui asp.net-core-webapi
1个回答
3
投票

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

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

1和2 =词典中各个条目的键。约翰和简=值

© www.soinside.com 2019 - 2024. All rights reserved.