Я использую swagger для отображения моего RESTApi, один параметр API принимает строку в качестве входных данных и преобразует ее в значение перечисления. Есть ли способ отобразить раскрывающееся меню в пользовательском интерфейсе Swagger вместо поля ввода текста, чтобы пользователи могли выбирать только строковые значения в значении перечисления.
Как сделать параметр пользовательского интерфейса Swagger раскрывающимся меню вместо ввода текста
Ответы (3)
Ключ заключается в использовании allowableValues
< / a> в аннотации @ApiParam
.
Демо, показывающее результат:
http://petstore.swagger.io/#!/pet/findPetsByStatus
Обратите внимание на pet/findByStatus
, это не раскрывающийся список, но ввод ограничен в поле с множественным выбором.
person
localhost
schedule
30.10.2014
К сожалению, эти ссылки теперь мертвы.
- person aradil; 14.01.2016
вы можете отобразить раскрывающийся список, используя следующий код чванства. Вы должны использовать enum. например если вы хотите использовать пол в качестве входных данных, тогда может быть три возможных значения
- мужчина, женщина, другое
-name: "gender"
in: "query"
type: "string"
enum: [ "male", "female", "other"]
description: "Enter user gender here."
required: true
person
Kundan
schedule
24.03.2016
Как сделать так, чтобы ключ пользовательского интерфейса Swagger отображался в раскрывающемся меню вместо ввода текста
- person Vinod Kumar Marupu; 25.08.2017
Вы можете напрямую использовать enum вместо параметра String в качестве параметра 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;
}
}
person
Sagar Vaghela
schedule
04.08.2017