我是OpenApi新手,我想用api.yaml (OpenApi版本3.0.1)定义api。我的问题是生成的枚举只包含名称,而不是值。
这是我的代码中的枚举:
TEST1(1, "Test 1", "T1"),
TEST2(2, "Test 2", "T2"),
TEST3(3, "Test 3", "T2");这是用OpenApi生成它之后的枚举:
TEST1("TEST1"),
TEST2("TEST2"),
TEST3("TEST3");枚举自动定义如下:
testenum:
type: string
description: desciption of the enum
enum:
- TEST1
- TEST2
- TEST3如何在我的api.yaml中定义枚举,使其看起来像第一个示例?
发布于 2022-04-21 07:17:12
这可能不是本地支持的。
检查负责生成代码的模板,例如:https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/main/resources/JavaSpring/enumOuterClass.mustache。注意,这是春季的。但是,您应该能够轻松地导航到所需的框架。
所以,你可以(只是一些想法):
)
发布于 2022-04-24 22:09:12
这可能不是代码的方向,但是,始终有编写程序/构建任务的选项,该任务将在生成文件后,但在编译之前,按照您需要的方式对生成的文件进行编辑。就基本面而言,这可能是一个糟糕的想法,但虽然肮脏,但它很可能奏效。
File f = new File("PATH/TO/ENUM/CLASS");
ArrayList<String> fileLines = Files.readAllLines(f.toPath());
ArrayList<String> outputList = new ArrayList<>();
for(String s : files){
if(s.contains( SOMETHING THAT YOU NEED TO CHANGE) ) {
outList.add(CHANGED VALUE);
}
else {
outList.add(s);
}
}
//However you prefer to, write to the file
//file.delete()
//file.createNewFile();
//outList.forEach(WRITE TO FILE);
//file.save()https://stackoverflow.com/questions/71872797
复制相似问题