我是OpenApi的新手,想用api.yaml(OpenApiversion3.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中定义枚举,使其看起来像第一个示例?
3条答案
按热度按时间fnvucqvd1#
这可能不是本地支持的。
检查负责生成代码的模板,例如:https://github.com/OpenAPITools/openapi-generator/blob/master/modules/openapi-generator/src/main/resources/JavaSpring/enumOuterClass.mustache。注意,这是针对spring的。但是,您应该能够轻松地导航到所需的框架。
所以,你可以(只是一些想法):
1.提供您自己的模板(请参阅:https://openapi-generator.tech/docs/templating)或
1.使用忽略文件https://openapi-generator.tech/docs/customization/#ignore-file-format并手动定义/编码枚举
oyt4ldly2#
这可能不是一个让代码看起来很好的方向,但是,总是有这样的选择:编写一个程序/构建任务,它将在生成文件之后,但在编译之前,以您需要的方式编辑生成的文件。就基本原理而言,这可能是一个糟糕的想法,但尽管很脏,但它可能是有效的。
h9a6wy2h3#
参数: