【发布时间】:2018-06-22 13:43:23
【问题描述】:
尝试获取 allowableValues 标记的枚举值时出现以下错误。
注解属性 ApiModelProperty.allowableValues 的值 必须是常量表达式
我想做什么:
@ApiModelProperty(allowableValues = new Enums().enumToString(SomeEnum.class))
private String someString;
这里是 Enums().enumToString 的逻辑
公共类枚举{
public final <E extends Enum<E>> String enumToString(Class<E> inputEnum) {
//inputEnum;
for (Enum enumValues : EnumSet.allOf(inputEnum)) {
//will create a string of the enum values
}
return "will be a formatted string of the enum values";
}
}
有可能做我想要完成的事情吗?我知道可以只在我的 API 中公开枚举,然后 swagger 会自动识别允许的值,但是有问题的字段需要作为字符串公开,即使我们的内部逻辑将它作为枚举。
提前感谢您的帮助!
【问题讨论】: