我使用swagger来显示我的RESTApi,API的一个参数将字符串作为输入并将其转换为枚举值。有没有办法在Swagger UI上显示下拉菜单而不是文本输入字段,以便用户只能在枚举值中选择字符串值。
我使用swagger来显示我的RESTApi,API的一个参数将字符串作为输入并将其转换为枚举值。有没有办法在Swagger UI上显示下拉菜单而不是文本输入字段,以便用户只能在枚举值中选择字符串值。
关键是要使用 allowableValues
在里面 @ApiParam
注解。
演示显示结果:
http://petstore.swagger.io/#!/pet/findPetsByStatus
查看 pet/findByStatus
,这不是一个下拉菜单,但输入是有限的
多选框。
关键是要使用 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
您可以直接使用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;
}
}