首页 > 解决方案 > 如何在 ASP.NET Core WebApi 中将键值对传递给 HttpGet?

问题描述

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

到目前为止,我试过这个:

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

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

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

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

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

解决方案


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

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

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


推荐阅读