Пользовательский интерфейс Swashbuckle AspNetCore и дополнительные модели с обязательными параметрами - PullRequest
0 голосов
/ 27 мая 2020

.netcoreapp 2.1 Swashbuckle.AspNetCore 5.4.1

Учитывайте

class ExampleClass {
        // example of a required model property with EF 
        [Required]
        public string ExampleProperty { get; set; }

        [JsonIgnore]
        public string IgnoredProperty { get; set; }

        public RequiredClass Required { get; set; }
    }
class RequiredClass
    {
        [Required]
        public string required { get; set; }
    }

Пользовательский интерфейс Swagger генерирует такие параметры, как:

SwaggerUI

Но свойство Required.required на самом деле не требуется для публикации класса Example.

curl -X POST "http://localhost/api/v1/Example?ExampleProperty=test "-H" accept: application / json "

Дает мне 201, как и ожидалось.

Мне кажется, что я пропускаю соглашение или что-то в этом роде, но есть ли способ раздел «Параметры», чтобы просто исключить RequiredClass, поскольку он необязательный? Это делает пользовательский интерфейс немного менее удобным из-за необходимости вводить «Обязательные» параметры для вещей, которых нет.

Пробовал, config.DefaultModelsExpandDepth (-1); и config.DefaultModelExpandDepth (-1); но ни то, ни другое не помогает в отношении раздела параметров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...