web-dev-qa-db-ja.com

Swaggerのデータ注釈

POSTを受け入れる複合型を公開するASP.NETとSwaggerを使用しています。制限された長さが異なる多数の文字列フィールドがあります。それをSwaggerUIに反映するにはどうすればよいですか?

18
illug

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はそうです。ただし、SwaggerUIでこの情報を見つけるのは少し不器用です。オブジェクトのModelに移動してから、プロパティにカーソルを合わせる必要があります。

How to discover max length info

25
venerik