使用招摇来记录枚举值中的字符串

尝试获取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中公开枚举,然后摇摇晃晃便会自动识别允许的值,但是有问题的字段需要以字符串形式公开,即使我们的内部逻辑将其作为枚举也是如此。


不负相思意
浏览 115回答 2
2回答

鸿蒙传说

您的问题根本与Swagger无关,而与基本Java无关。在Java批注中,您可以具有常量表达式,这意味着您不能在那里进行方法调用,而只能使用常量值。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java