在apis()
方法中,使用Predicates.or()
方法可以接受多个选择器,选择器间是或关系。如果调用and
方法,那就是都满足。
下方代码配置了扫描在co.yixiang.lujia
包下,或类上含有@ApiAccess
注解的类。
@Bean
@SuppressWarnings("all")
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.enable(enabled)
.apiInfo(apiInfo())
.select()
.apis(Predicates.or(
RequestHandlerSelectors.basePackage("co.yixiang.lujia"),
RequestHandlerSelectors.withClassAnnotation(ApiAccess.class)
))
.paths(Predicates.not(PathSelectors.regex("/error.*")))
.build();
}
/**
* 标注允许出现在接口文档中的类
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface ApiAccess {
}