2017-10-24 5 views
0

스프링 부트로 개발 한 RESTful 웹 서비스가 있습니다. Gradle 빌드 도구를 사용하여 응용 프로그램에 swagger2을 통합했습니다. 문서를 디스패치하지 않는 Swagger2는 UI 형식입니다.

testCompile('io.springfox:springfox-swagger2:2.6.1') 
testCompile('io.springfox:springfox-swagger-ui:2.6.1') 

나는 내가 http://localhost:8080/v2/api-docs 나는 JSON 문자열을 얻고 액세스 할 때 이제 방법

@Configuration 
@EnableSwagger2 
public class SwaggerConfig { 

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

다음의 swagger2에 대한 구성 파일을 썼다. 그러나 http://localhost:8080/swagger-ui.html에 액세스하려고 할 때 Swagger UI보기가 표시되지 않으면 406 오류가 발생합니다.

답변

0

시도해 볼 수 있습니까? basePackage는 나머지 API 레이어의 진입 점일뿐입니다. 프로그램에서 하드 코딩 할 수 있습니다.

@Configuration 
@EnableSwagger2 
public class SwaggerConfig { 

    @Bean 
    UiConfiguration uiConfig() { 
     return new UiConfiguration("validatorUrl", "list", "alpha", "schema", 
       UiConfiguration.Constants.DEFAULT_SUBMIT_METHODS, false, true, 60000L); 
    } 

} 
+0

조차도이 문제가있었습니다. 당신은'@Value ("$ {xyz.abc.myPackage}")를 의미합니다. – piechuckerr

+0

apis에 기본 패키지를 전달해야합니다. 제 경우에는 여러 개의 마이크로 서비스가 있었기 때문에 하나의 서비스 만 있으면 기본 패키지를 .apis (RequestHandlerSelectors.basePackage ())로 전달하면 구성 할 수있게되었습니다. – Debopam

+0

동일한 오류가 발생합니다. – stephanie

0

시도해 보셨습니까? 여기 http://localhost:8080/swagger-ui.html#!/test-controller/

컨트롤러 클래스 이름 (RequestHandlerSelectors.basePackage ("com.example.restdemo.web"))

을 가진

ALL 기타 사항 서보 -OFF(). API를 대체 또한

TestController이다

ALL 기타 사항 서보 -OFF() 아래로

..

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

작동하지 않는 경우이 오류와 마주하고 있습니다. – stephanie