9
私は、POSTを受け入れる複雑な型を公開するASP.NETとSwaggerを使用しています。制限された長さが異なる複数の文字列フィールドがあります。それをSwaggerのUIに反映するにはどうすればよいですか?Swaggerのデータ注釈
私は、POSTを受け入れる複雑な型を公開するASP.NETとSwaggerを使用しています。制限された長さが異なる複数の文字列フィールドがあります。それをSwaggerのUIに反映するにはどうすればよいですか?Swaggerのデータ注釈
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
に移動し、財産上にカーソルを移動しなければなりません。私はMaxLength属性を使用していました。しかし、どちらも "Swagger UI"で "maxLength":10の部分を表示しません。 – illug私はそれが少し不器用であることに同意します。ホバービットは、これらのアノテーションが複数あるときには実際には機能しません。彼らはお互いの上に積み重なり、彼らはあなたがどのフィールドを参照しているか分からない。しかし、素晴らしい答えをありがとう。 – illug
'Swashbuckle'の最新バージョン安定版には、スタックボックスを修正する' Swagger UI'の新バージョンが組み込まれています。 – venerik