我可能正在尝试做一些奇怪的事情,因为这似乎不是一个常见的问题(或者我问的都是错的)。我原以为这很简单。
基本上,除了使用gradle openapi-generator插件外,我正在寻找一种与以下操作相同的方法: openapi-generator generate -i www.example.com/openapi-doc -g spring
我已经尝试了以下内容(以及相关的错误):
- inputSpec.set(“ www.example.com/openapi-doc”)->无法将URL {}转换为文件
- 为属性'inputSpec'指定的inputSpec.set(URL(“ www.example.com/openapi-doc”)。readText())->
实际的代码如下所示:
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")
}
假设您在使用OpenAPI Generator Gradle插件,在编写此答案时,inputSpec
不支持从URL获取。但是,对于Maven而言,此问题已实现(发行#2241,已在PR#3826中关闭),因此很有可能通过功能请求实现该功能,使Gradle插件与Maven同行达到同等水平。
话虽这么说,您可能想研究Gradle Download Task。Gradle Download Task是一个插件,可让您从URL下载文件。下载的文件可用于将其提供给OpenAPI生成器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句