Używam przełącznika do wyświetlania mojej RESTApi, jeden parametr interfejsu API przyjmuje ciąg jako dane wejściowe i konwertuje go na wartość wyliczenia. Czy istnieje sposób na wyświetlenie menu rozwijanego w interfejsie użytkownika Swagger zamiast pola wprowadzania tekstu, aby użytkownicy mogli wybierać tylko wartości ciągu w wartości wyliczenia.Jak ustawić parametr interfejsu Swaggera jako menu rozwijane zamiast wprowadzania tekstu?
9
A
Odpowiedz
2
Kluczem jest użycie allowableValues
w adnotacji @ApiParam
.
Demo pokazuje wynik:
http://petstore.swagger.io/#!/pet/findPetsByStatus
Wyjazd pet/findByStatus
, to nie jest rozwijana, ale wejście jest ograniczone w multi-select box.
4
możesz wyświetlać listę rozwijaną za pomocą poniższego kodu przekierowania. Musisz użyć enum. np. jeśli chcesz wziąć płeć jako wejście to nie może być trzy możliwe wartości
- mężczyzna, kobieta, inne
-name: "gender"
in: "query"
type: "string"
enum: [ "male", "female", "other"]
description: "Enter user gender here."
required: true
+0
Jak uzyskać klucz interfejsu Swagger UI zamiast menu tekstowego –
2
można bezpośrednio użyć enum zamiast parametru String jako Parametr API.
@RequestMapping(value = "/test", method = RequestMethod.POST)
public void test(EnumTest enum) {
// body
}
EnumTest.java
public enum EnumTest {
One("One"),
Two("Two");
private String str;
EnumTest(String str){
this.str = str;
}
public String getStr() {
return str;
}
}
Niestety te linki są już martwe. – aradil