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

如何强制springdoc-openapi-maven-plugin生成YAML文件?

解决springdoc-openapi-maven-plugin生成JSON而非YAML的问题

核心问题:重复配置覆盖了正确的API地址

你的Maven插件配置里重复定义了两次apiDocsUrl:

<apiDocsUrl>http://localhost:8080/v3/api-docs.yaml</apiDocsUrl>
<!-- ... 其他配置 ... -->
<apiDocsUrl>http://localhost:8080/v3/api-docs</apiDocsUrl>

Maven会采用最后一个重复的配置项,所以实际请求的是不带.yaml后缀的JSON接口,最终生成的自然是JSON文件。

修复步骤

  1. 删除重复的不带后缀的apiDocsUrl配置,保留带.yaml的版本:
<plugin>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-maven-plugin</artifactId>
    <version>1.4</version>
    <configuration>
        <apiDocsUrl>http://localhost:8080/v3/api-docs.yaml</apiDocsUrl>
        <outputFileName>openapi.yaml</outputFileName>
        <outputDir>${project.basedir}/api-docs</outputDir>
        <skip>false</skip>
    </configuration>
    <executions>
        <execution>
            <id>integration-test</id>
            <goals>
                <goal>generate</goal>
            </goals>
        </execution>
    </executions>
</plugin>
  1. 执行Maven命令重新生成文档:
mvn springdoc-openapi:generate

额外验证点

  • 确认Spring Boot应用处于启动状态,直接在浏览器访问http://localhost:8080/v3/api-docs.yaml,检查是否返回YAML格式的文档
  • 确保插件版本1.4与你的Spring Boot版本兼容,版本不匹配可能导致格式解析异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 11:27:28