Swagger-ui无法生成正确的查询字符串

问题描述

我正在尝试创建一个asp.net核心网络api,以接受具有自定义类型的字典查询字符串作为值(例如Dictionary )。 我已经使用Visual Studio 2019生成了默认的Web-api示例,并具有以下内容:

  • 安装了Swashbuckle 5.5.0并设置所需的SwaggerGen,UseSwagger,SwaggerUi调用
public class User 
{
  public string Name { get; set;}
}

[HttpGet]
public IEnumerable<WeatherForecast> Get([FromQuery] Dictionary<string,User> users)
{
  // do something
}

在swagger-ui中运行并选择“ try-out”选项会产生以下查询字符串:

https://localhost:44396/WeatherForecast?additionalProp1[name]=string

在调试器中产生:

debugger

如果我将查询字符串更改为:

https://localhost:44396/WeatherForecast?users[additionalProp1].name=string

我在设置的字典中得到了Value:

debugger part 2

问题是-我需要告诉Swagger在swagger-ui中创建正确的查询字符串吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)