Spring-boot应用程序中不同软件包的控制器的Swagger配置

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

我在spring-boot应用程序中有rest控制器。

项目结构:

控制器

  • Package1

    ControllerClass1.java

    ControllerClass2.java

  • Package2

    ControllerClass3.java

    ControllerClass4.java

服务

型号

localhost:8080 / app / swagger-ui.html仅显示一个包控制器。

ControllerClass1

     Method1 GET 

     Method2 POST

ControllerClass2

     Method1 PUT

     Method2 POST

我想将所有包中的所有控制器都放到大摇大摆的UI上。

spring-boot swagger-ui
2个回答
0
投票

您可以配置要指导Swagger包括哪些路径的包和类

.paths(Predicates.or(
                    PathSelectors.ant("/api/v1/pck1/**"),
                    PathSelectors.ant("/api/v1/pck2/**"),
                    PathSelectors.ant("/api/anotherpath/**"))
            )

路径在控制器中定义(与哪个程序包无关)

package com.example.controller;
@RestController
@RequestMapping("/api/v1/pck1")
public class MyController {

0
投票

通过添加基本包来解决

@Bean
public Docket productApi() {
    return new Docket(DocumentationType.SWAGGER_2)
            .select()
            .apis(RequestHandlerSelectors.basePackage("com.shivanshu.project"))
            .build();

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