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

时间:2018-09-18 13:48:14

标签: c# asp.net-core-2.0 swagger-ui asp.net-core-webapi

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

到目前为止,我已经尝试过:

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

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

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

编辑:根本的问题是我正在使用摇摇欲坠(swashbuckle)测试我的端点。目前,该问题不支持动态查询参数Issue on github。将OpenApi v3支持添加到后缀Issue on github后,它应该会支持它。

1 个答案:

答案 0 :(得分:3)

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

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

1和2 =字典中各个条目的键。 john和jane = values