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;}
}

Без них схема не определяется автоматически

Другие вопросы по тегам