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

Spring Boot项目Gradle配置:用HashMap循环生成Swagger apiSource

Gradle中Swagger多apiSource的循环配置实现方法

可行的实现方式

Gradle基于Groovy,完全支持用循环简化重复的apiSource配置,直接用Groovy的each遍历配置列表即可,示例代码如下:

// 先定义所有Swagger配置详情
def swaggerDetails = [
    [path: 'com.test.TestControllerV1', buildPath: "${buildDir}/documentation/v1/"],
    [path: 'com.test.TestControllerV2', buildPath: "${buildDir}/v2/"],
    [path: 'com.test.DummyControllerV1', buildPath: "${buildDir}/v1/"]
]

swagger {
    swaggerDetails.each { detail ->
        apiSource {
            locations = [detail.path]
            schemes = ['http', 'https']
            swaggerDirectory = detail.buildPath
        }
    }
}

这段代码和你原来的逐个配置效果完全一致,Gradle会正确识别每个动态生成的apiSource闭包。

details的存储位置

有几种灵活的选择:

  • 直接写在build.gradle里:像上面的示例一样,在swagger闭包外部定义,适合配置项不多的场景,直观方便。
  • 抽成单独的Gradle脚本:如果配置项较多,新建一个swagger-config.gradle文件,把swaggerDetails的定义放在里面,然后在主build.gradle中用apply from: 'swagger-config.gradle'引入,让主配置文件更简洁。
  • 放在属性文件(可选):如果要和其他项目配置统一管理,也可以把路径信息写在gradle.properties里,但需要额外解析成列表,操作起来不如前两种直接。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 17:20:36