복붙노트

[SPRING] Springfox Swagger-UI를 추가했는데 작동하지 않습니다. 무엇을 놓치고 있습니까?

SPRING

Springfox Swagger-UI를 추가했는데 작동하지 않습니다. 무엇을 놓치고 있습니까?

여기 지침을 따르십시오.

http://www.baeldung.com/swagger-2-documentation-for-spring-rest-api

이 종속성을 프로젝트에 추가했습니다.

compile "io.springfox:springfox-swagger2:2.7.0"
compile "io.springfox:springfox-swagger-ui:2.7.0"

SpringFox Swagger를 다음과 같이 구성했습니다.

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

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

그러나 Swagger UI가 활성화되지 않은 것 같습니다. 나는 시도했다 :

내가 얻는 것은 :

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Mon Sep 11 09:43:46 BST 2017
There was an unexpected error (type=Method Not Allowed, status=405).
Request method 'GET' not supported

그리고 로그에서 볼 수 있습니다 :

2017-09-11 09:54:31.020  WARN 15688 --- [nio-8080-exec-6] o.s.web.servlet.PageNotFound             : Request method 'GET' not supported
2017-09-11 09:54:31.020  WARN 15688 --- [nio-8080-exec-6] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved exception caused by Handler execution: org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'GET' not supported

http : // localhost : 8080 / swagger-resources는 다음을 반환합니다.

[{"name": "default",
  "location": "/v2/api-docs",
  "swaggerVersion": "2.0"}]

내가 무엇을 놓치고 있습니까?

해결법

  1. ==============================

    1.https://github.com/springfox/springfox/issues/1672에서 인용

    https://github.com/springfox/springfox/issues/1672에서 인용

    스프링이 단 하나의 변수 swagger로 간단한 경로를 찾으면 URL을 가로 챌 수 없습니다.

    의견에 다양한 아이디어를 조사하여 발견되었습니다.

  2. ==============================

    2.또한 이것에 부딪 쳤고 문제는 경로 매핑이없는 컨트롤러를 가지고 있다는 것입니다 (따라서 "/"에 매핑). 그것은 swagger-ui 자원에 대한 요청을 차단하고있었습니다.

    또한 이것에 부딪 쳤고 문제는 경로 매핑이없는 컨트롤러를 가지고 있다는 것입니다 (따라서 "/"에 매핑). 그것은 swagger-ui 자원에 대한 요청을 차단하고있었습니다.

  3. from https://stackoverflow.com/questions/46151540/added-springfox-swagger-ui-and-its-not-working-what-am-i-missing by cc-by-sa and MIT license