0

I use this gradle dependency to configue springdoc-openapi:

implementation 'org.springdoc:springdoc-openapi-ui:1.7.0'

I added:

@Configuration
public class SwaggerConfiguration {
    
  @Bean
  public GroupedOpenApi publicApi() {
    return GroupedOpenApi.builder()
            .group("user-api")
            .displayName("user API")
            .packagesToScan("*")
            .pathsToMatch("*", "/admin/.*")
            .build();
  }
}

I get when I open http://localhost:8080/swagger-ui/index.html#/

No operations defined in spec!

I added:

@Configuration
public class SwaggerConfiguration {
    
  @Bean
  public OpenAPI springShopOpenAPI() {
    return new OpenAPI()
            .info(new Info().title("HoN Core Auth API")
                    .description("Authentication & authorization API")
                    .version("33")
                    .license(new License().name("(C) HoN")));
  }
}

Now I get all endpoints definitions.

Do you know how I can get swagger configuration as groups(displayed into dropdown)?

Peter Penzov
  • 1,126
  • 134
  • 430
  • 808

1 Answers1

2

Please try the following.

  @Bean
  public GroupedOpenApi publicApi() {
    return GroupedOpenApi.builder()
            .group("user-api")
            .displayName("user API")
            .pathsToMatch("**", "/admin/**")
            .build();
  }

Use ** in pathsToMatch. If you need regular expressions, you need to specify them like .paths(PathSelectors.regex("/public.*")).

Also, packagesToScan requires you to enter the package name. It can be a root package, but * is not available.

YutaSaito
  • 387
  • 6