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

包io。大摇大摆v3.oas。注释。媒体不退出(Swagger Codegen)

颜修明
2023-03-14

我正在gradle中使用swagger codegen cli工具(版本3.0.25)生成java客户端:

task doCodeGenSdk(type: JavaExec) {
main = "io.swagger.codegen.v3.Codegen"
classpath = configurations.codeGenCli
inputs.files file("${swaggerSpecDir}/*.json")
outputs.dir file("${codeGenDirSdk}")
args = ["generate", "--lang", "java", "--input-spec", "${swaggerSpecFile}",
        "--config", "${swaggerConfig}",
        "--template-dir", "${swaggerTemplateDir}",
        "--output", "${codeGenDirSdk}"]
systemProperty "apiTests", "false"
systemProperty "apiDocs", "false"
systemProperty "modelTests", "false"
systemProperty "modelDocs", "false"}

swagger配置文件如下所示:

{
"library": "resttemplate",
"artifactVersion": "__VERSION__",
"artifactId": "__ARTIFACT_ID__",
"modelPackage": "com.model",
"apiPackage": "com.api",
"invokerPackage": "com.invoker",
"dateLibrary": "java8",
"apiTests": false,
"java8": true,
"serializableModel": true,
"useBeanValidation": true,
"performBeanValidation": true}

模板目录包含以下小胡子文件:

ApiClient.mustache, generatedAnnotation.mustache, licenseInfo.mustach, pojo.mustache

gradle文件:

buildscript {
repositories {
    maven {
        url "https://plugins.gradle.org/m2/"
    }
}
dependencies {
    classpath "io.swagger.core.v3:swagger-gradle-plugin:2.1.10"
  }
}
apply plugin: io.swagger.v3.plugins.gradle.SwaggerPlugin
configurations {
    codeGenCli
}
dependencies {
    codeGenCli "io.swagger.codegen.v3:swagger-codegen-cli:3.0.25"
}

swagger代码在构建目录中生成文件,但是某些包存在导入错误。

error: package io.swagger.v3.oas.annotations.media does not exist

我们使用swagger codecen工具使用2.0中的swagger spec文件生成客户端代码。

这是我们第一次尝试使用3.0中的swagger规范文件生成客户端。

任何帮助都将不胜感激。

共有1个答案

西门靖琪
2023-03-14

我能够通过在编译时在构建中添加swagger注释库来修复依赖性问题。gradle文件:

dependencies {
implementation "io.swagger.core.v3:swagger-annotations:2.1.10"
}
 类似资料:
  • 我正在使用Spring Boot2开发一个REST api。我在build.gradle文件中为Swagger2和Swagger-UI添加了SpringFox依赖项,如下所示: 不幸的是,像@enableswagger2这样的大摇大摆的注释似乎没有被识别出来。我该怎么办?

  • 我想大摇大摆地发布一个json正文,就像这样: 目前,我有这样的定义: 但是数据是在URL中发送的。这里是Swagger提供的生成的curl: 我知道<code>查询</code>关键字不好,但我没有找到POST JSON正文的方法。我尝试了<code>formData</code>,但没有成功。

  • 我有一个java项目(tomcat webapp)和一些REST Api。我想为他们生成大摇大摆的文档。我从本教程(github)开始。我没有maven我们使用蚂蚁任务。我加入了swagger-annotations-1.5.0。jar和所有随swagger jaxrs jar 1.5.0版本附带的jar(如果有用的话,我可以包括一个完整的列表),我已经注释了一些方法,我有一个如下的配置类: }

  • 我使用这些软件包(通过作曲家安装) 在def控制器中,我有以下注释: 因此,当我尝试通过swagger ui测试此路由时,我遇到了错误 当我检查标题(火狐)时,我没有看到 授权:不记名{ {访问令牌}} 但是我有我的代币 Cookie: XSRF-TOKEN=eyJpdiI6Ik5COUV5Y1ltRTM4eXNsRlpLY2ptTGc9PSIsInZhbHVlIjoiNDFCbG95c1RHSH

  • 我们在我们的泽西应用程序中使用了@Role允许注释来限制用户对应用编程接口某些部分的访问。我们如何在SwaggerUI中显示这些信息? 到目前为止,我已经用@ApiOperation注释了方法以显示in/out参数,并尝试使用@Authorization/@AuthorizationScope,但我只为我们不使用的oauth2显示了它。最接近out case的是ApiKeyAuthDefiniti

  • 有没有人用spring-data-rest配置了swagger。我知道swagger有DocumentationConfig类,它扫描所有spring-mvc请求映射。但是,如何将其用于spring-data-rest,因为没有定义显式的请求映射。非常感谢在这方面的任何帮助。此外,我还想知道,是否有其他支持Spring-Data-REST的文档框架。