一个包下面,有多个controller类,用swagger配置的Docket1只扫描其中的一个controller类,剩下的其他controller类用swagger配置的Docket2扫描,
时间: 2024-04-11 07:27:09 浏览: 87
要实现您的要求,您可以在Swagger配置文件中创建多个 `Docket` 实例,并为每个实例指定不同的扫描规则。以下是一个示例:
```java
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket docket1() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("Docket 1")
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.controllers.package1")) // 替换为您的包路径
.paths(PathSelectors.any())
.build();
}
@Bean
public Docket docket2() {
return new Docket(DocumentationType.SWAGGER_2)
.groupName("Docket 2")
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.controllers.package2")) // 替换为您的包路径
.paths(PathSelectors.any())
.build();
}
}
```
在上面的示例中,我们创建了两个 `Docket` 实例:`docket1` 和 `docket2`。每个实例都有不同的组名和扫描规则。
您可以根据需要修改 `basePackage` 的值来指定要扫描的包路径。例如,`com.example.controllers.package1` 表示要扫描的第一个包,`com.example.controllers.package2` 表示要扫描的第二个包。
这样配置后,Swagger将会生成两个独立的文档,分别显示对应的Controller类。
请注意,这只是一个示例,您需要根据您的实际情况进行相应的修改。
阅读全文