#c# #swagger #asp.net-core-webapi #swagger-ui #swashbuckle
#c# #swagger #asp.net-core-webapi #swagger-ui #swashbuckle
Вопрос:
Я пытаюсь создать asp.net основной веб-api для приема строки запроса словаря с пользовательским типом в качестве значения (например, Dictionary<string, User>). Я сгенерировал пример веб-api по умолчанию с использованием Visual studio 2019 и имею следующее:
- Установил 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 и выбор опции «опробовать» выдает следующую строку запроса:
https://localhost:44396/WeatherForecast?additionalProp1[name]=string
Если я изменю строку запроса на:
https://localhost:44396/WeatherForecast?users[additionalProp1].name=string
Я получаю значение в заданном словаре:
Итак, вопрос в том, что мне нужно сообщить Swagger для создания правильной строки запроса в swagger-ui?