如何在Gradle中为OpenAPI 3.0使用Swagger Codegen?

问题描述 投票:3回答:1

我有一个OpenAPI 3.0规范(采用YAML格式),并希望为该API生成Java代码。我想将其作为自动化构建的一部分(最好使用Gradle),因此我可以创建服务接口,并将接口的实现作为自动化过程的一部分。

此工作示例演示了如何执行此操作,但是它使用了Swagger 2.0规范YAML:https://github.com/galovics/swagger-codegen-gradle/tree/first-server-side

我已经分叉了这个示例,并添加了OpenAPI 3.0规范,但是随后无法构建:https://github.com/robjwilkins/swagger-codegen-gradle/tree/openapi_v3_test

错误是:

无法读取资源列表com.fasterxml.jackson.core.JsonParseException:无法识别的令牌'openapi':期望(JSON字符串,数字,数组,对象或令牌[Source:(String)“ openapi:3.0.0]中的'null','true'或'false')

(PR显示更改:https://github.com/robjwilkins/swagger-codegen-gradle/pull/1/files

我的理解是需要更新的代码在build.gradle中:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("io.swagger.codegen.v3:swagger-codegen:3.0.16")
    }
}

可能io.swagger.codegen.v3:swagger-codegen:3.0.16无法识别OpenAPI 3.0?

Swagger Core v3项目似乎专注于通过代码(而不是来自规范的代码)生成YAML / JSON规范:https://github.com/swagger-api/swagger-core

对这个问题的任何帮助将不胜感激。谢谢:)

我有一个OpenAPI 3.0规范(采用YAML格式),并希望为该API生成Java代码。我想将其作为自动构建的一部分(最好使用Gradle),因此我可以创建服务...

java gradle swagger openapi swagger-codegen
1个回答
2
投票

我现在可以正常工作了(感谢@Helen的帮助)

© www.soinside.com 2019 - 2024. All rights reserved.