0

After trying for 2 3 days , I am a bit tired and asking question in this forum. There are similar questions and solutions but nothing is working out for me. I did all the configuration as mentioned but swagger ui is coming up for my rest services

***WebInitializer.java***

public class WebInitializer implements WebApplicationInitializer {

public void onStartup(ServletContext servletContext) throws ServletException {  

    AnnotationConfigWebApplicationContext ctx = new AnnotationConfigWebApplicationContext();  
    ctx.register(Config.class);  
    ctx.setServletContext(servletContext);    

    Dynamic servlet = servletContext.addServlet("dispatcher", new DispatcherServlet(ctx));  
    servlet.addMapping("/");  
    servlet.setLoadOnStartup(1);  

}  

}

Config.java

@Configuration 
@ComponentScan("com.javahash.spring")
@EnableWebMvc 
@EnableSwagger2
public class Config extends WebMvcConfigurerAdapter{  

@Bean  
public UrlBasedViewResolver setupViewResolver() {  
    UrlBasedViewResolver resolver = new UrlBasedViewResolver();  
    resolver.setPrefix("/WEB-INF/views/");  
    resolver.setSuffix(".jsp");  
    resolver.setViewClass(JstlView.class);  
    return resolver;  
}

@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
    registry.addResourceHandler("swagger-ui.html")
    .addResourceLocations("classpath:/META-INF/resources/");

  registry.addResourceHandler("/webjars/**")
    .addResourceLocations("classpath:/META-INF/resources/webjars/");

}

@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
    configurer.enable();
}

@Bean
public Docket api() { 
    return new Docket(DocumentationType.SWAGGER_2)  
      .select()                                  
      .apis(RequestHandlerSelectors.any())              
      .paths(PathSelectors.any())                          
      .build();
}

}  

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.abc</groupId>
<artifactId>RE</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>RE Maven Webapp</name>
<url>http://maven.apache.org</url>
<properties>
    <spring.version>4.2.8.RELEASE</spring.version>
    <org.slf4j-version>1.7.12</org.slf4j-version>
    <jackson.version>2.8.0</jackson.version>
</properties>
<dependencies>

    <!-- https://mvnrepository.com/artifact/junit/junit -->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>${jackson.version}</version>
    </dependency>

     <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.6.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.6.0</version>
        <scope>compile</scope>
    </dependency>
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>18.0</version>
    </dependency> 
</dependencies>
<build>
    <finalName>RE</finalName>
</build>
</project>
amarzeet
  • 63
  • 2
  • 11
  • Please check this answer , might be useful :-http://stackoverflow.com/a/42922167/2357869 – Vijay Mar 21 '17 at 09:15

1 Answers1

0

It seems that maven doesnot load webjars from swgger dependencies automatically. When I added webjars, it worked fine.

    <dependency>
        <groupId>org.webjars</groupId>
        <artifactId>bootstrap</artifactId>
        <version>4.0.0-alpha.3</version>
    </dependency>
amarzeet
  • 63
  • 2
  • 11