Springfox-Swagger-ui funktioniert nicht mit Spring MVC

8

Ich habe ein paar Tage damit zugebracht, nach einer Lösung zu suchen, und habe es nicht geschafft, das meiste Beispiel mit Federstiefel und Grille zu machen, ich benutze nur Feder-Mvc und Maven.

Wenn ich die Springfox-Swagger-ui-Abhängigkeit entferne, läuft die App gut und das folgende gibt JSON wie erwartet zurück: http: \\ localhost: 8080 \ restful \ v2 \ api-docs? group = restful-api

Aus irgendeinem Grund kann meine Spring-Anwendung die swagger-ui.html nicht bestehen und gibt die gleiche Antwort, wenn ich eine index.html

einstelle

Ich habe versucht, hinzuzufügen:

  1. Begrüßungslistendateien in der web.xml
  2. Ressourcenhandler
  3. Standard-Servlet-Behandlung

Keine funktioniert.

App-Konfiguration

%Vor%

Swagger-Konfiguration

%Vor%

Der Code, den ich habe, ist wie folgt:

web.xml

%Vor%

Fehler

%Vor%     
Robert Leggett 27.04.2015, 13:50
quelle

4 Antworten

13

Behoben durch Hinzufügen der folgenden in der AppConfig.

%Vor%     
Robert Leggett 21.10.2015, 05:29
quelle
3

Ich habe diesen Fehler wegen einer Versionskonflikt zwischen springfox-swagger2 und springfox-swagger-ui festgestellt, Versionen der beiden Abhängigkeiten müssen identisch sein.

%Vor%     
Searene 10.05.2017 04:11
quelle
2

Ich weiß nicht, wie anders die neue Version von swagger ist, aber ich benutze Version 1.0.2. Ich verwende auch swagger-spring-mvc-ui-0.4.jar , um die swagger API jsp-Datei und css zu erhalten.

Abhängigkeit von Maven

%Vor%

Ich verwende es zusammen mit Spring MVC 4.1.5. Unten ist die einzige Datei, die ich verwende, um swagger api json Datei zu generieren.

SwaggerConfig.java

%Vor%

Mein Ruhesteuerer

%Vor%

Abgesehen von allen oben genannten Änderungen habe ich eine lokale Kopie der sdoc.jsp -Datei in swagger-spring-mvc-ui-0.4.jar erstellt und die URL geändert, auf die sie standardmäßig zeigt.

%Vor%

Bitte beachten Sie, dass ich in der Datei web.xml keine Änderungen vorgenommen habe und die SwaggerConfig-Klasse mit Spring Annotations / component-scan

geladen wurde     
Deepankar Sarkar 15.07.2015 15:36
quelle
1

Obwohl der Autor der Frage Spring Boot nicht verwendet - ich habe mich entschieden, hier zu posten, um anderen zu helfen, die das tun. Für mich mit Spring 5.0.0.M5 mit Spring Security und Spring Boot Es funktionierte, indem ich diese zwei Abhängigkeiten in meiner pom.xml hinzufügte:

%Vor%

Dann habe ich in meiner SpringBootApp-Klasse die Swagger-Annotation und eine entsprechende Bean hinzugefügt:

%Vor%

Danach ist die API-Dokumentation in meinem App-Stammordner verfügbar, der /: Ссылка

lautet

Auf diese Weise brauchen Sie nicht einmal eine separate SwaggerConfig wie hier beschrieben: Ссылка

    
Michail Michailidis 18.03.2017 07:52
quelle