当前位置: 首页 > 知识库问答 >
问题:

如何在Gradle中从uri生成openapi客户端

茅昀
2023-03-14

我可能在尝试做一些奇怪的事情,因为这似乎不是一个常见的问题(或者可能我问错了)。我原以为这会很简单。

基本上,我正在寻找的是一种方法,除了通过使用gradle openapi生成器插件:openapi生成器生成-iwww.example.com/openapi-doc-gSpring

我所尝试的是以下(以及相关的错误):

  1. 输入pec.set(www.example.com/openapi-doc)

实际代码如下所示:

kotlin prettyprint-override">tasks.register<GenerateTask>("generateClient") {
    validateSpec
    generatorName.set("spring")
    library.set("spring-cloud")
//    inputSpec.set("$openapiSpecDir/client/openapi.json") <-- *I am currently using a file, which I don't want to do*
    inputSpec.set("https://www.example.com/openapi-doc")
    outputDir.set(generatedClientDir)
    apiPackage.set("org.example.api")
    modelPackage.set("org.example.model")
    skipOverwrite.set(false)
    templateDir.set("$rootDir/src/main/resources/openapi/templates/client")
    configOptions.put("java8", "false")
    configOptions.put("serializationLibrary", "jackson")
    configOptions.put("dateLibrary", "java8")
}

共有1个答案

凌炜
2023-03-14

假设您正在使用OpenAPI Generator Gradle Plugin,在编写此答案时,不支持从URL获取inputSpec。然而,对于Maven来说,这已经实现了(第2241期以PR#3826结束),所以很有可能通过一个功能请求来实现它,该请求使Gradle插件与Maven插件相当。

话虽如此,你可能想看看Gradle下载任务。Gradle下载任务是一个插件,让你从一个URL下载文件。下载的文件可用于将其输入OpenAPI生成器。

 类似资料:
  • 我想创建一个gradle java应用程序,它从一个openAPI规范文件生成一个客户端,并使用该客户端。所以我用gradle init创建了一个java应用程序(类型:应用程序,语言:Java,DSL:groovy,测试框架:JUnit Jupiter,项目名称:简单-java-app,包结构:)。 我可以用一个包和一个类创建一个新的源文件夹。并使用以下 主类可以访问: 现在,我尝试对opena

  • 我有一个这样的歌剧API: OpenAPI生成器Maven的插件为schema对象创建了一个请求类“GenerateTokenRequest”,但在API实现类中它没有使用。它生成一个方法,将所有请求的字段作为参数列表。方法如下: 所以,在这种情况下,请求类“GenerateTokenRequest”被生成,但从未使用过。任何人都可以告诉我为什么?有一种使用我的请求类的替代方法吗?我可以在Open

  • 我试图用openApI3生成一个python客户端库。为此,我创建了一个openapi.yml文件,在其中我定义了带有请求和响应的url和模式。 我正在尝试使用我在这里找到的openApI生成器https://github.com/OpenAPITools/openapi-generator命令:openapitools/openapi生成器cli 这个生成器根据yml文件中定义的模式生成一组目录

  • 当使用带有Gradle的OpenAPI生成器时,我希望将性别化的源发送到其他源生成器插件使用的标准目录。类似于Maven生成源的东西。 到目前为止,我还不能这样做,特别是将生成限制为Java源类,而不是整个“原型项目”。 似乎OpenAPI Gradle插件的工作流程与Maven插件的工作流程并不相同。 是否有配置标志来省略所有非java代码的生成,并在“生成的源代码”文件夹(如/out/prod

  • 作为第一步,我使用了Quarkus Openapi指南:https://Quarkus.io/guides/openapi-swaggerui,但是在运行未修改的示例并通过http://localhost:8080/Openapi检索Openapi YAML-Data之后,我注意到生成的数据是错误的,并且Openapi生成器由于stackoverflow错误而无法生成客户端。 问题:SetFrui

  • 我试图生成我的REST API客户端Android使用OpenAPI生成器从build.gradle脚本。这样,我就不必每次规格改变时都运行生成器命令行。理想情况下,这将在我构建/组装我的应用程序时生成,源将最终在java(生成)文件夹中,在那里生成的源可以从代码中访问(这就是BuildConfig.java文件的情况)。 下面是他们官方GitHub的链接,这里是构建。我最终得到的gradle文件