gpt4 book ai didi

java - 使用 swagger 记录枚举值中的字符串

转载 作者:行者123 更新时间:2023-11-30 02:07:29 25 4
gpt4 key购买 nike

尝试获取 allowedValues 标记的枚举值时出现以下错误。

The value for annotation attribute ApiModelProperty.allowableValues must be a constant expression

我正在尝试做的事情:

@ApiModelProperty(allowableValues = new Enums().enumToString(SomeEnum.class))
private String someString;

这是 Enums().enumToString 的逻辑

公共(public)类枚举{

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 会自动识别允许的值,但是有问题的字段需要作为字符串公开,即使我们的内部逻辑将其作为枚举。

预先感谢您的帮助!

最佳答案

@ApiModelProperty(value = "embed", dataType = "[Lmodel.request.Embed;")
private final List<String> embed;

嵌入路径是枚举列表。这向您展示了 swagger 文档中类似的内容:

type: "object"
properties:
embed:
type: "array"
description: "embed"
items:
type: "string"
enum:
-SOME
-SOME
-SOME
-SOME

关于java - 使用 swagger 记录枚举值中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50989360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com