我正在使用带有Java spring的Swagger版本2。我声明了一个属性,它工作正常,它会生成一个我分配的值的下拉列表。
@ApiParam(value = "Pass any one Shuttle provider ID from the list", allowableValues = "1,2,3,4,10")
private Long hotelId;
但现在我需要一种方法来填充此列表,该列表从allowableValues
传递到我的数据库,因为它可能是随机列表以及大量数据。如何在此allowableValues
?
答案 0 :(得分:1)
final
变量final
变量分配给注释中的allowableValues
享受不高效的api
private final String allowableValues;
public SwaggerConfiguration() {
List<YourEntitiy> list = someService.findAll();
//code to get every value you need and add create comma separated String
StringJoiner stringJoiner = new StringJoiner(",");
stringJoiner.add(list.get(0).getValue());
this.allowableValues = stringJoiner.toString();
}
@ApiParam(allowableValues = allowableValues)
但我认为从数据库获取所有ID只是为了创建允许的值是个坏主意。只需在api方法中验证该id是否存在和/或创建新api以从数据库获取ID,使用Spring Data项目中的分页,如PageImpl<> javadocs