2016-07-21 5 views
3

Spring MVC를 사용하여 REST 호출을 처리하는 응용 프로그램이 있고 컨트롤러는 REST 컨트롤러이며 @RestController이라는 주석이 달려 있으며 컨트롤러와 메서드에는 @RequestMapping이라는 주석이 붙어 있습니다.Swagger Springfox 구성 문제

기존 REST 서비스에 대한 문서를 생성하기 위해 Swagger를 추가하려고합니다. 나는 그것을 어떻게 보이는지보기위한 테스트로 하나 추가하려고합니다. springfoxui 라이브러리를 추가하고, swagger 구성 클래스와 bean 정의를 spring context xml 파일에 추가했습니다. 나는 swagger-ui.html 링크에 접속할 수 있지만 전혀 문서를 생성하지는 않습니다. 스파 스 문서 때문에 내가 잘못했거나 잘못 구성된 것을 전혀 알지 못하고 문제를 검색하는 것이 유용하지 않습니다.

누구나 내가 잘못했을 수도있는 것에 대한 제안을하거나, 아니면 지금까지 발견 한 것보다 더 나은 문서를 제공 할 수 있습니까?

나는, springfox-swagger2 내 POM 파일에 관련된 UI 항목을 추가이 추가 : 나는 정의 해봤

@Configuration 
@EnableSwagger2 
public class ApplicationSwaggerConfig { 

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

} 

@EnableWebMvc 
public class SwaggerConfiguration 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/"); 
    } 

} 

:이 클래스에 대한 두 가지 새로운 bean 정의와 함께, 내 봄 파일에 을 내 봄 xml에서 두 번째 클래스의 콩,하지만 그 중 하나를 작동하지 않았다. 나는 혼란 스럽다. 문서가 말한대로했는데 작동하지 않습니다. 어떤 아이디어?

+0

에서 당신이

  • 당신은 자신감 서비스에 대한 설명을 볼 수 있는지 확인합니다 (이 2.6.0가되어이 글을 쓰고시) 최신 라이브러리 버전을 사용하고 있는지 확인주십시오 또는 web.xml을 사용하지 않는 경우 WebApplicationInitializer를 제공 하시겠습니까? – marians27

  • 답변

    0

    springfox 설명서는 here입니다. 귀하의 게시물에서 다음을 수행해야 할 수도 있습니다.

    @Override 
        public void addViewControllers(ViewControllerRegistry registry) { 
    
          registry.addRedirectViewController("/documentation/v2/api-docs", "/v2/api-docs?group=restful-api"); 
          registry.addRedirectViewController("/documentation/swagger-resources/configuration/ui","/swagger-resources/configuration/ui"); 
          registry.addRedirectViewController("/documentation/swagger-resources/configuration/security","/swagger-resources/configuration/security"); 
          registry.addRedirectViewController("/documentation/swagger-resources", "/swagger-resources"); 
        } 
    
        @Override 
        public void addResourceHandlers(ResourceHandlerRegistry registry) { 
          registry 
            .addResourceHandler("/documentation/swagger-ui.html**") 
            .addResourceLocations("classpath:/META-INF/resources/swagger-ui.html"); 
          registry 
            .addResourceHandler("/documentation/webjars/**") 
            .addResourceLocations("classpath:/META-INF/resources/webjars/"); 
        } 
    

    주 아래와 같이 : 당신이 봄 부팅 응용 프로그램이있는 경우이 필요하지 않습니다.

    • http(s)://your-host/context-path/v2/api-docs
    관련 문제