公司一些老项目里加入了swagger,由于项目太大,接口巨多,扫描的无用的接口信息很恶心,用包路径区分的方式解决不了旧的controller上也新加了文档注解但扫描不到的问题。
偶然发现扫描api路径的时候可以选择只扫描带注解的,这个很实用,具体例子如下:
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.withClassAnnotation(Api.class)) //只扫描有api注解的类
//.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))//只扫描有ApiOperation注解的方法
.paths(PathSelectors.any())
.build()
.enable(!ENV.PRD.equals(ENV.getEnv(env)))
.apiInfo(apiInfo());
核心是两个:RequestHandlerSelectors.withClassAnnotation(Api.class)
RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class)
看自己项目需要选择其中一个过滤方式就行了。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100279.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...