apis()方法中,使用Predicates.or()方法可以接受多个选择器,选择器间是或关系。如果调用and方法,那就是都满足。

    下方代码配置了扫描在co.yixiang.lujia包下,或类上含有@ApiAccess注解的类。

    1. @Bean
    2. @SuppressWarnings("all")
    3. public Docket createRestApi() {
    4. return new Docket(DocumentationType.SWAGGER_2)
    5. .enable(enabled)
    6. .apiInfo(apiInfo())
    7. .select()
    8. .apis(Predicates.or(
    9. RequestHandlerSelectors.basePackage("co.yixiang.lujia"),
    10. RequestHandlerSelectors.withClassAnnotation(ApiAccess.class)
    11. ))
    12. .paths(Predicates.not(PathSelectors.regex("/error.*")))
    13. .build();
    14. }
    1. /**
    2. * 标注允许出现在接口文档中的类
    3. */
    4. @Target(ElementType.TYPE)
    5. @Retention(RetentionPolicy.RUNTIME)
    6. public @interface ApiAccess {
    7. }