我正在使用ASP.NET和Swagger公开一个接受POST的复杂类型.它有许多具有不同限制长度的字符串字段.我怎样才能在Swagger UI中反映出来?
解决方法
您可以使用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,"type": "string" }
除StringLength外,Swashbuckle还支持Range和RegularExpression属性.
更新
MaxLength不起作用. StringLength.但是,在Swagger UI中发现这些信息有点笨拙.您必须导航到对象的模型,然后将鼠标悬停在属性上: