SwaggerUI не отображает схему модели
У меня есть проект C# Web.API с Swagger и Swashbuckle.
У меня есть модель:
public class TimeZoneName
{
public string zoneName { get; }
}
У меня есть контроллер с методами:
public string GetLocalTimeByTimeZone(TimeZoneName timezone)
{
//Stuff Happens here
return "12:00";
}
Во время сборки я ожидал, что Swashbuckle сгенерирует SwaggerUI, который показывает JSON-представление типа TimeZoneName в пользовательском интерфейсе.
Этого не произошло.
Как настроить мои методы и модели так, чтобы схема модели отображалась в SwaggerUI?
2 ответа
Решение
Swashbuckle интерпретирует Get в начале имени действия и предполагает, что вы не отправляете сложные данные в теле запроса.
Вы можете заставить Swashbuckle интерпретировать Действие как POST, добавив декоратор.
[HttpPost]
public string GetLocalTimeByTimeZone(TimeZoneName timezone)
Если вы создали новую модель, попробуйте разместить методы получения и установки.
public class MyNewModel
{
public string Member1 {get; set;}
}
Без них схема не определяется автоматически