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

springdoc openapi UI中的Swagger UI不会在生成的“@Controller”类中显示API

龙承颜
2023-03-14

我有一个Spring Boot应用程序,其中API被指定为OpenAPI 3.0.2 YAML文档。我使用openapi生成器maven插件从规范生成代码http://localhost:8080/swagger-用户界面。html,它显示:“规范中未定义任何操作!”

在规范中,我有:

servers:
    - url: /books/api/v1

这导致控制器类中出现以下情况:

@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2021-06-17T14:52:43.686820-07:00[America/Los_Angeles]")
@Controller
@RequestMapping("${openapi.axmPlatformKeyService.base-path:/books/api/v1}")
public class SvcApiController implements SvcApi {
    // ...
    // ...
}

如果我加载openapi定义。编辑亚马尔。大摇大摆io,它显示了预期的定义。

如果我这样创建另一个控制器:

@RestController
public class AddonController implements SvcApi {
    // ...
    // ...
}

然后Swagger UI显示了API,这基本上意味着如果生成的代码有“@RestController”,它会工作得很好。

因为生成的控制器是用@controller注释的,所以Swagger UI无法拾取它。即使在添加了这个额外的@RestController之后,Swagger UI的试用功能也不会在它生成的URL中包含“/books/api/v1”。

Net效果是使用这个AddonController,如果规范中有一个request/book/{id},那么服务中有两个endpoint:

/books/api/v1/book/{id}/book/{id}

后者由Swagger UI调用。

这些是相关的依赖关系:

    <dependency>
      <groupId>org.springdoc</groupId>
      <artifactId>springdoc-openapi-ui</artifactId>
      <version>1.5.0</version>
    </dependency>

    <dependency>
      <groupId>io.swagger</groupId>
      <artifactId>swagger-annotations</artifactId>
      <version>1.6.2</version>
    </dependency>

共有1个答案

狄宜然
2023-03-14

添加一个静态初始值设定项

SpringDocUtils.getConfig().addRestControllers(SvcApiController.class) 

解决问题。在这种情况下不需要AddonController。

 类似资料:
  • 我正在使用openapi生成器maven插件从YAML文档生成代码。 以下是我如何配置maven插件以生成接口: 这个插件工作得很好,我得到这样的界面 我正在用这个类实现我的接口: 我已经检查了解决方案,当我执行api调用时,我得到了HTTP状态200,但是当我尝试访问swagger ui页面时,这个apiendpoint没有被记录。有没有办法配置OpenAPI UI或SwaggerUI以指向我的

  • 我的数据确实显示在console.log中,但实际上没有显示在表中,我在这里做错了什么?

  • 我正在用apache fop库(v2.2)生成PDF文件。如果我从Eclipse IDE运行应用程序,所有运行都没有问题,但是如果我从Eclipse IDE生成JAR,并且库处理设置为将所需的库提取到生成的JAR中,然后我将运行JAR,它将生成没有图像的PDF文件(文本如预期的那样可见)。首先我认为这是由无效的文件路径引起的,但是如果我直接在XSL中使用base64编码的图像,图像仍然不可见。如果

  • minOccurs=“0”和maxLength value=“15”都被植入到生成的java类中。 有人能帮我吗?TNX

  • 我有一个包含4个项目的解决方案:Console netcoreapp3。1,标准类库2.1,辅助服务netcoreapp3。1、netcoreapp3下的xunit测试项目。1. 我做到了: sourceanalyzer-b*-清洁 sourceanalyzer-b X.sln msbuild“C:\X\X.sln”/nologo/v:n/t:Rebuild sourceanalyzer-显示生成

  • 问题内容: 我是python的新手,我开始使用以下链接的练习来教自己如何在jupyter上使用熊猫: http://nbviewer.jupyter.org/github/jvns/pandas- cookbook/blob/v0.1/cookbook/Chapter%201%20-%20Reading%20from%20a%20CSV.ipynb 我有一个问题,当我在Jupyter中进行操作时,