如何在OpenAPI YAML中创建可生成Java类的常量?
在OpenAPI YAML中定义可生成Java常量的正确方式
你尝试的constants字段不属于OpenAPI规范的标准组件,代码生成工具无法识别,所以没法生成对应的Java静态常量。以下是两种可行的实现方式:
方案一:用枚举类型定义一组相关常量
适合把同类型的常量归类到一个枚举类中:
components: schemas: BusinessConstants: type: string enum: - book_sample - car_test description: 业务场景常量定义
生成Java代码时,代码生成工具(如OpenAPI Generator)会自动创建枚举类,每个枚举值对应一个静态常量,也可通过配置让生成的类直接包含public static final String形式的常量。
方案二:用const关键字定义单个常量
如果需要单独定义每个常量,可以给每个常量创建一个独立的Schema:
components: schemas: BOOK: type: string const: book_sample CAR: type: string const: car_test
关键配置:开启代码生成工具的常量生成开关
以OpenAPI Generator为例,需要在生成命令中添加参数启用常量生成:
openapi-generator generate -i your-api-spec.yaml -g java -o ./generated-code --additional-properties=generateConstants=true
执行该命令后,生成的Java代码中会出现对应的public static final String BOOK = "book_sample";这类常量定义。
内容的提问来源于stack exchange,提问作者mattsmith5
相关产品推荐
相关产品推荐

