You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过openapi-generator-maven-plugin(Spring生成器)生成可访问的API元数据?

可以配置生成器生成API元数据

当然可以通过配置openapi-generator-maven-plugin来生成包含API规范元数据的代码,让你能在业务代码中直接访问version、title这类信息。下面是具体的配置步骤:

1. 配置Maven插件

在你的pom.xml中,给openapi-generator-maven-plugin添加对应配置项,开启元数据生成:

<plugin>
    <groupId>org.openapitools</groupId>
    <artifactId>openapi-generator-maven-plugin</artifactId>
    <version>你的插件版本</version>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <!-- 保留你已有的配置,比如spec文件路径、生成器类型等 -->
                <generatorName>spring</generatorName>
                <inputSpec>${project.basedir}/src/main/resources/openapi.yaml</inputSpec>
                <configOptions>
                    <!-- 开启元数据生成开关 -->
                    <generateMetadata>true</generateMetadata>
                    <!-- 可选:指定生成类的包路径 -->
                    <apiPackage>com.yourteam.api</apiPackage>
                    <modelPackage>com.yourteam.model</modelPackage>
                </configOptions>
            </configuration>
        </execution>
    </executions>
</plugin>

2. 生成的元数据类说明

执行mvn clean generate-sources后,生成器会自动创建一个包含API元数据的类(通常名为OpenApiMeta,具体名称取决于插件版本),类中封装了openapi.yaml里info节点的所有字段:

  • getTitle():返回API标题
  • getVersion():返回API版本(即你需要的1.0)
  • getDescription():返回API描述

3. 在代码中访问元数据

生成完成后,你可以直接在Spring组件中引用这个类获取版本信息:

import com.yourteam.api.OpenApiMeta;

@Service
public class DemoService {
    public void showApiVersion() {
        String apiVersion = OpenApiMeta.VERSION;
        // 也可以通过实例方法获取:new OpenApiMeta().getVersion()
        System.out.println("当前API版本:" + apiVersion);
    }
}

注意事项

  • 确保插件版本在5.0.0及以上,更早版本可能不支持generateMetadata参数
  • 如果需要自定义元数据类的名称或格式,可以通过templateDir配置项指定自定义模板文件

内容的提问来源于stack exchange,提问作者fuzzi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 03:34:52