Как получить параметр Swagger UI в раскрывающемся меню вместо ввода текста
Я использую swagger для отображения моего RESTApi, один параметр API принимает строку в качестве входных данных и преобразует ее в значение перечисления. Есть ли способ отобразить раскрывающееся меню в пользовательском интерфейсе Swagger вместо текстового поля ввода, чтобы пользователи могли выбирать только строковые значения в значении перечисления.
3 ответов
ключ должен использовать allowableValues
на @ApiParam
Примечание.
демонстрация, показывающая результат:
http://petstore.swagger.io/#!/pet/findPetsByStatus
проверить pet/findByStatus
, это не раскрывающийся список, но вход ограничен в
мульти-выбора.
вы можете отобразить раскрывающийся список, используя следующий код swagger. Вы должны использовать перечисление. например, если вы хотите взять пол в качестве входных данных, то может быть три возможных значения
- мужчина, женщина, другие
-name: "gender"
in: "query"
type: "string"
enum: [ "male", "female", "other"]
description: "Enter user gender here."
required: true
вы можете напрямую использовать перечисление вместо строкового параметра в качестве параметра 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;
}
}