Аннотации данных в Swagger

Я использую ASP.NET и Swagger, который предоставляет сложный тип, который принимает сообщение. Он имеет несколько строковых полей, которые имеют разные ограниченные длины. Как я могу отразить это в UI чванство?

1 ответов


вы можете аннотировать свойства с StringLengthAttribute С System.ComponentModel.DataAnnotations.

например:

[StringLength(10)]
public String Name {get;set;}

будет:

"name": {
    "minLength": 0,
    "maxLength": 10,
    "type": "string"
}

и так:

[StringLength(10, MinimumLength = 5)]
public String Name {get;set;}

будет:

"name": {
    "minLength": 5,
    "maxLength": 10,
    "type": "string"
}

кроме того StringLength Swashbuckle также поддерживает Range и RegularExpression атрибуты.

обновление

MaxLength не работает. StringLength делает. Однако обнаружение этой информации в Swagger UI является немного неуклюже. Вы должны перейти к Model вашего объекта, а затем наведите указатель мыши на объект недвижимости:

How to discover max length info