Avoiding default basic-error-controller from swagger api [duplicate] Avoiding default basic-error-controller from swagger api [duplicate] spring spring

Avoiding default basic-error-controller from swagger api [duplicate]


After searching in google I got the solution from one issue in GitHub, [question] How to exclude the basic-error-controller from being added to the swagger description?. It can be done using Predicates.not().

Code looks like as follows after using Predicates.not().

@Beanpublic Docket demoApi() {    return new Docket(DocumentationType.SWAGGER_2)//<3>            .select()//<4>            .apis(RequestHandlerSelectors.any())//<5>            .paths(Predicates.not(PathSelectors.regex("/error.*")))//<6>, regex must be in double quotes.            .build()}


Lot's of time gone by, but if someone has same problem you could do it by providing selector for RestController:

new Docket(SWAGGER_2)                .select()                .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))                .paths(PathSelectors.any())                .build();

Keeping in mind that your controllers are annotated with @RestController


I encountered the same problem. I did this.

java@Beanpublic Docket api() {    return new Docket(DocumentationType.SWAGGER_2)            .select()            .apis(RequestHandlerSelectors.basePackage("com.xxx.xxx"))            .paths(PathSelectors.any())            .build();}