.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 генерирует такие параметры, как:
Но свойство 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); но ни то, ни другое не помогает в отношении раздела параметров.