Używam ASP.NET i Swagger, który udostępnia typ złożony, który akceptuje POST. Ma pewną liczbę pól łańcuchowych o różnych ograniczonych długościach. Jak mogę to odzwierciedlić w interfejsie użytkownika Swagger?Adnotacje danych w Swagger
9
A
Odpowiedz
12
Możesz opisać właściwości za pomocą StringLengthAttribute
z System.ComponentModel.DataAnnotations
.
Na przykład:
[StringLength(10)]
public String Name {get;set;}
staną:
"name": {
"minLength": 0,
"maxLength": 10,
"type": "string"
}
I tak:
[StringLength(10, MinimumLength = 5)]
public String Name {get;set;}
staje:
"name": {
"minLength": 5,
"maxLength": 10,
"type": "string"
}
Oprócz StringLength
Swashbuckle obsługuje również atrybuty Range
i RegularExpression
.
Aktualizacja
MaxLength
nie działa. StringLength
ma. Jednak odkrywanie tych informacji w interfejsie użytkownika Swagger jest nieco niezręczne. Musisz przejść do Model
swojego obiektu, a następnie najedź nieruchomości:
Dzięki. Używałem atrybutu MaxLength. Ale nie wyświetlają "maxLength": 10 części w interfejsie Swagger. – illug
Zgadzam się, że jest trochę niezgrabny. Bit hover nawet nie działa, gdy masz więcej niż jedną z tych adnotacji. Będą się układać jeden na drugim, a ty nie wiesz, do którego pola się odnoszą. Dziękuję za wspaniałą odpowiedź. – illug
Najnowsza wersja stabilnej wersji 'Swashbuckle' zawiera nową wersję' Swagger UI', która naprawia skumulowane pudełka. – venerik