2017-09-11 1 views
2

folgen Sie den Anweisungen hier:Hinzugefügt Springfox Swagger-UI und es funktioniert nicht, was fehlt mir?

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

habe ich diese Abhängigkeiten zu meinem Projekt:

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

und SpringFox Swagger wie folgt konfiguriert:

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(); 
    } 
} 

aber die Swagger UI scheint nicht aktiviert werden. Ich habe versucht:

und alles, was ich bekommen ist:

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 

und auf den Protokollen sehe ich:

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 kehrt:

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

Was bin ich?

+0

Haben Sie eine Federsicherung, die den Zugang verhindern könnte? – StanislavL

+0

@StanislavL: Nein, ich habe die Sicherheit noch nicht aktiviert. – Pablo

+0

@StanislavL: Ich habe die Protokollfehler hinzugefügt, die ich erhalte, und es ist ein PageNotFound. – Pablo

Antwort

3

Ich stieß auf dieses Problem, weil ich Endpunkte mit Anforderungszuordnungen hatte, die Pfadvariablen dieser Form hatten:/{var}. Es stellt sich heraus, dass dies ein Problem sowohl für GET- als auch für POST-Endpunkte ist, d. H. Für GET/{var} und POST/{var} block swagger-ui. Sobald ich die Pfade spezifischer machte, bekam ich Swagger-Ui zur Arbeit.

Zitat von https://github.com/springfox/springfox/issues/1672

Wenn der Frühling einen einfachen Weg mit nur einer Variable Prahlerei findet nicht die URLs abfangen.

Gefunden durch Untersuchung verschiedener Ideen in Kommentaren.

Verwandte Themen