21

我正在使用 ASP.NET 和 Swagger,它们公开了一个接受 POST 的复杂类型。它有许多具有不同限制长度的字符串字段。如何在 Swagger UI 中反映这一点?

4

1 回答 1

30

StringLengthAttribute您可以使用from注释属性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"
}

除了StringLengthSwashbuckle 还支持RangeRegularExpression属性。

更新

MaxLength不起作用。StringLength做。但是,在 Swagger UI 中发现这些信息有点笨拙。您必须导航到Model您的对象,然后将鼠标悬停在该属性上:

如何发现最大长度信息

于 2016-03-08T22:48:31.307 回答