【问题标题】:Gradle configuration for OpenAPI GeneratorOpenAPI 生成器的 Gradle 配置
【发布时间】:2019-12-20 00:06:37
【问题描述】:

当使用带有 Gradle 的 OpenAPI 生成器时,我希望将性别化的源发送到其他源生成器插件使用的标准目录。类似于 Maven 生成源。

到目前为止,我还没有做到这一点,特别是要将生成限制为 Java 源类而不是整个“原型项目”。

OpenAPI Gradle 插件工作流程似乎与 Maven 工作流程不同。

是否有一个配置标志可以省略所有非 java 代码的生成,并在“生成的源”文件夹中执行此操作,例如 /out/production/generated/?

【问题讨论】:

  • 所有生成器都支持outputDir 属性(相当于我们的Maven 插件中的output)。 gradle 插件可能比 Maven 插件“更正确”,因为它使用 OpenAPI Generator 核心的默认值而不是定义其他值。一个常见的 gradle 工作流程是生成相对于项目根目录的路径,而不是 generated-sources 目录。随意在 repo 上打开一个问题,核心团队将努力调整或更好地记录这一点。

标签: java openapi-generator


【解决方案1】:

如果这对任何人都有帮助,我已经构建了一个 Gradle 和 OpenAPI Generator 项目的框架,该项目将 API 和模型文件直接生成到项目源文件层次结构中。

它使用以下配置:

openApiGenerate {
    generatorName = "spring"
    inputSpec = "..."
    outputDir = "$projectDir"
    apiPackage = "..."
    modelPackage = "..."
    configOptions = [
            interfaceOnly: "true",
            openApiNullable: "false",
            skipDefaultInterface: "true"
    ]
    globalProperties = [
            apis: "",
            models: ""
    ]
}

例子是here

【讨论】:

  • 最好的提示,configOptions 中的这个选项有助于摆脱框架产生的垃圾
猜你喜欢
  • 2023-01-17
  • 1970-01-01
  • 2021-07-12
  • 2022-11-24
  • 2022-01-21
  • 1970-01-01
  • 1970-01-01
  • 2020-02-17
  • 1970-01-01
相关资源
最近更新 更多