Ich benutze ASP.NET und Swagger, die einen komplexen Typ, der einen POST akzeptiert. Es verfügt über mehrere Zeichenfolgenfelder mit unterschiedlichen eingeschränkten Längen. Wie kann ich das in der Swagger UI widerspiegeln?Daten Annotationen in Swagger
9
A
Antwort
12
Sie können die Eigenschaften mit der StringLengthAttribute
von System.ComponentModel.DataAnnotations
annotieren.
Zum Beispiel:
[StringLength(10)]
public String Name {get;set;}
wird geworden:
"name": {
"minLength": 0,
"maxLength": 10,
"type": "string"
}
Und:
[StringLength(10, MinimumLength = 5)]
public String Name {get;set;}
wird:
"name": {
"minLength": 5,
"maxLength": 10,
"type": "string"
}
Neben StringLength
unterstützt Swashbuckle auch die Attribute Range
und RegularExpression
.
aktualisieren
MaxLength
funktioniert nicht. StringLength
tut. Diese Informationen in der Swagger-Benutzeroberfläche zu finden, ist jedoch etwas ungeschickt. Sie müssen die Model
Ihr Objekt navigieren und dann über das Objekt schweben:
Dank. Ich habe das MaxLength-Attribut verwendet. Aber keine "maxLength": 10 Teile in der Swagger UI. – illug
Ich stimme zu, es ist ein bisschen ungeschickt. Das Hover-Bit funktioniert nicht einmal, wenn Sie mehr als eine dieser Anmerkungen haben. Sie werden übereinander gestapelt und Sie wissen nicht, auf welches Feld sie sich beziehen. Danke für eine tolle Antwort. – illug
Die neueste Version der stabilen Version von 'Swashbuckle' enthält eine neue Version von' Swagger UI', die die gestapelten Boxen behebt. – venerik