如何将Swagger配置的项目扫描范围限定为com.home.controller包
修改Swagger配置仅扫描指定包
嘿,这个调整其实非常直接,你只需要修改Docket配置里的RequestHandlerSelectors部分就可以实现只扫描com.home.controller包的需求。
原来的配置里.apis(RequestHandlerSelectors.any())是让Swagger扫描项目里所有的请求处理器,我们把它替换成指定包路径的选择器就行。
修改后的完整配置代码如下:
@Bean public Docket api(){ return new Docket(DocumentationType.SWAGGER_2) .select() .apis(RequestHandlerSelectors.basePackage("com.home.controller")) // 这里改成指定包 .paths(PathSelectors.any()) .build(); }
补充说明
RequestHandlerSelectors.basePackage()方法会告诉Swagger只扫描指定包及其子包下的控制器类- 如果之后你还需要对接口路径做额外过滤,可以调整
PathSelectors的配置(比如用PathSelectors.ant("/api/**")只匹配特定前缀的接口),不过当前需求下保持PathSelectors.any()就没问题
内容的提问来源于stack exchange,提问作者John Wind
相关产品推荐
相关产品推荐

