【发布时间】:2016-06-05 11:10:45
【问题描述】:
我正在使用 ASP.NET 和 Swagger,它公开了一个接受 POST 的复杂类型。它有许多具有不同限制长度的字符串字段。如何在 Swagger UI 中体现这一点?
【问题讨论】:
标签: asp.net-web-api2 swagger-2.0 swashbuckle
我正在使用 ASP.NET 和 Swagger,它公开了一个接受 POST 的复杂类型。它有许多具有不同限制长度的字符串字段。如何在 Swagger UI 中体现这一点?
【问题讨论】:
标签: asp.net-web-api2 swagger-2.0 swashbuckle
您可以使用来自System.ComponentModel.DataAnnotations 的StringLengthAttribute 注释属性。
例如:
[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,然后将鼠标悬停在该属性上:
【讨论】:
Swashbuckle 的最新版本稳定版包含修复堆叠框的新版本Swagger UI。