一、错误方法,使用 io.renren.modules.*.controller
public Docket createRestApi() {
log.info("======================== 当前环境是否开启Swagger:" + SwaggerSwitch + " ========================");
return new Docket(DocumentationType.SWAGGER_2)
.securitySchemes(securitySchemes())
.securityContexts(securityContexts())
//配置是否启用Swagger,如果是false,在浏览器将无法访问,默认是true
.enable(SwaggerSwitch)
//apiInfo: 添加api详情信息,参数为ApiInfo类型的参数,这个参数包含了第二部分的所有信息比如标题、描述、版本之类的,开发中一般都会自定义这些信息
.apiInfo(apiInfo())
.select()
//apis: 添加过滤条件,
//加了ApiOperation注解的类,才生成接口文档
// .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
//包下的类,才生成接口文档
.apis(RequestHandlerSelectors.basePackage("io.renren.modules.*.controller"))
.paths(PathSelectors.any())
.build();
}
二、正确方法:使用多个controller共同拥有的父类,即精确到两个controller的上一级
public Docket createRestApi() {
log.info("======================== 当前环境是否开启Swagger:" + SwaggerSwitch + " ========================");
return new Docket(DocumentationType.SWAGGER_2)
.securitySchemes(securitySchemes())
.securityContexts(securityContexts())
//配置是否启用Swagger,如果是false,在浏览器将无法访问,默认是true
.enable(SwaggerSwitch)
//apiInfo: 添加api详情信息,参数为ApiInfo类型的参数,这个参数包含了第二部分的所有信息比如标题、描述、版本之类的,开发中一般都会自定义这些信息
.apiInfo(apiInfo())
.select()
//apis: 添加过滤条件,
//加了ApiOperation注解的类,才生成接口文档
// .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
//包下的类,才生成接口文档
.apis(RequestHandlerSelectors.basePackage("io.renren.modules"))
.paths(PathSelectors.any())
.build();
}

本文档对比了在配置Swagger时的两种不同方法。错误的方法是使用`io.renren.modules.*.controller`作为包扫描路径,这可能导致不精确的API文档生成。而正确的方式是定位到两个具体Controller类的上一级父包,如`io.renren.modules`,以确保只包含所需Controller的API信息。这种方法提高了Swagger文档的准确性和维护性。
1456

被折叠的 条评论
为什么被折叠?



