Replace @EnableSwagger2 after update to latest version

22,869

Solution 1

@EnableSwagger2 was removed in swagger 2.10.x, but from 3.x.x it is there again.

@EnableSwagger2WebMvc is deprecated in 3.0.0+

Funny but true :)


Optionally you can use following dependency with Spring 5 MVC

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-boot-starter</artifactId>
    <version>3.0.0</version>
</dependency>

and

  • remove explicit dependencies on springfox-swagger2
  • remove the @EnableSwagger2 annotations
  • add the springfox-boot-starter dependency

see: https://github.com/springfox/springfox

Solution 2

@Configuration
@EnableSwagger2WebMvc
@Import({SpringDataRestConfiguration.class, BeanValidatorPluginsConfiguration.class})
public class ApplicationSwaggerConfig {

    @Bean
    public Docket schoolApi() {
        return new Docket(DocumentationType.SWAGGER_2).
                select().
                apis(RequestHandlerSelectors.basePackage("com.example.SampleProject")).
                paths(PathSelectors.any()).
                build();
    }

For the other case pertaining to spring security checks, you can make your securityconfiguration class to extend WebsecurityConfigurerAdapter and then you can implement below method -

 @Override public void configure(WebSecurity web) throws Exception {
      web.ignoring().antMatchers( "/v2/api-docs", "/swagger-resources/**", "/configuration/ui","/configuration/security", "/swagger-ui.html");
      
      }

This should help I guess

Share:
22,869
Peter Penzov
Author by

Peter Penzov

Updated on July 09, 2022

Comments

  • Peter Penzov
    Peter Penzov almost 2 years

    I migrated to latest springfox-swagger2 version 2.10.0 but looks like @EnableSwagger2 is deprecated.

    What annotation should I use in order to enable Swagger into Spring Boot project? @EnableSwagger2WebMvc?

  • SSK
    SSK almost 4 years
    I have used the @EnableSwagger2WebMvc server started but I am unable to load swagger UI on http://localhost:8090/swagger-ui.html. I am getting SpringSecurity login page, after entering the valid credential still it is not loading, and asking for credential again and again
  • SSK
    SSK almost 4 years
    Error is WARN [2020-06-24T10:20:00.527+0530] servlet.PageNotFound ||${fallback:user}|No mapping for GET /swagger-ui.html
  • SSK
    SSK almost 4 years
    I have WebsecurityConfigurerAdapter in place as you mentioned
  • Tushar Mahajan
    Tushar Mahajan almost 4 years
    this had worked for me when I was getting kinda same errors
  • SSK
    SSK almost 4 years
    It's strange to me!!. After upgrade to latest version i.e 2.10.5, it is giving me a same security dialog box
  • SSK
    SSK almost 4 years
    Anything else that I can try to get rid of this?
  • SSK
    SSK almost 4 years
    Found that this is an issue and latest release 2.10 is not ready to use github.com/springfox/springfox/issues/3336 github.com/springfox/springfox/issues/3335
  • Leponzo
    Leponzo over 2 years
    It looks like @EnableSwagger2 is working again in springfox-swagger2 v.3.0.0!
  • Pino
    Pino about 2 years
    @EnableSwagger2 was not deprecated but suddenly removed in v2.10 :-(