2017-10-09 3 views
0

안녕하세요 저는 swagger2에서 springboot 1.5.3.RELEASE를 사용하고 있습니다. 앱을 실행하면 "localhost : 3030/v2/api-docs"에 액세스하여 json swagger 응답에 액세스 할 수 있습니다. 하지만 "localhost : 3030/swagger-ui.html"에 액세스 할 수 없기 때문에 "/swagger-ui.html"에 대한 매핑이 없음을 보여줍니다. 어떻게이 문제를 해결할 수 있습니까?swagger-ui가 springboot로로드되지 않습니다.

종속

<dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-web</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-security</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-actuator</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-data-jpa</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-aop</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-tomcat</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-test</artifactId> 
      <scope>test</scope> 
     </dependency> 
     <!-- mock testing --> 
     <dependency> 
      <groupId>com.jayway.restassured</groupId> 
      <artifactId>rest-assured</artifactId> 
      <version>2.3.4</version> 
      <scope>compile</scope> 
     </dependency> 
     <!-- /mock testing --> 
     <dependency> 
      <groupId>io.springfox</groupId> 
      <artifactId>springfox-swagger2</artifactId> 
      <version>2.6.1</version> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>io.springfox</groupId> 
      <artifactId>springfox-swagger-ui</artifactId> 
      <version>2.6.1</version> 
      <scope>compile</scope> 
     </dependency> 
     <dependency> 
      <groupId>com.fasterxml</groupId> 
      <artifactId>classmate</artifactId> 
      <version>1.3.1</version> 
     </dependency> 
     <dependency> 
      <groupId>commons-codec</groupId> 
      <artifactId>commons-codec</artifactId> 
      <version>1.9</version> 
     </dependency> 

자신감의 설정은

@Configuration 
@Component 
@EnableSwagger2 
public class RestConfig { 

    @Bean 
    public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() { 
     ObjectMapper mapper = new ObjectMapper(); 
     mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false); 
     MappingJackson2HttpMessageConverter converter = 
       new MappingJackson2HttpMessageConverter(mapper); 
     return converter; 
    } 

    @Bean 
    public ErpAppConfig configureErpApp() { 
     // just to process the @PostConstruct 
     return new ErpAppConfig(); 
    } 

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

} 
+0

이 ResourceHandler 같은'registry.addResourceHandler ("자신감 - ui.html로 추가 프로젝트의 경로에있는 모든 자신감 파일을 복사해야 ") .addResourceLocations ("classpath :/META-INF/resources/"); \t \t registry.addResourceHandler ("/ webjars/**"). addResourceLocations ("classpath :/META-INF/resources/webjars /"); ' –

+0

이 레지스트리를 어디에 추가해야합니까 ??? – boycod3

+0

WebMvcConfigurerAdapter' 파일을 확장 한 파일로 참조 용 기존 메소드'addResourceHandlers'를 재정의합니다. http://www.baeldung.com/swagger-2-documentation-for-spring-rest-api –

답변

1
Create a mapping for Swagger by override existing method addResourceHandler 


public class AppConfig extends WebMvcConfigurerAdapter { 
    @Override 
    public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     registry.addResourceHandler("swagger-ui.html") 
      .addResourceLocations("classpath:/META-INF/resources/"); 
     registry.addResourceHandler("/webjars/**") 
      .addResourceLocations("classpath:/META-INF/resources/webjars/"); 
    } 
} 
+0

또한 허용 URL을 Swagger URL에 대한 스프링 보안 – boycod3

+0

스프링 보안 설정에 대해 잘 모르겠습니다. 네가 그걸 언급하지 않았기 때문에 .. –

0

나는 그것이이 일을 해결해야한다고 생각합니다. 당신은

프로젝트 \ 웹은 \ SRC \ 주 \ 웹 애플리케이션

관련 문제