Wie integrieren swagger mit jersey + spring-boot
Ich bin mit springboot + Trikot für web restful-Implementierung. Nun bin ich dabei, zu integrieren swagger in unserer Anwendung. Ich habe folgende.
@Configuration
@EnableSwagger2
public class JerseyConfiguration extends ResourceConfig {
public JerseyConfiguration(){
register(HelloworldAPI.class);
configureSwagger();
}
private void configureSwagger() {
BeanConfig beanConfig = new BeanConfig();
beanConfig.setVersion("1.0.2");
beanConfig.setSchemes(new String[]{"http"});
beanConfig.setHost("localhost:8080");
beanConfig.setBasePath("/");
beanConfig.setResourcePackage("com.cooltoo.api");
beanConfig.setPrettyPrint(true);
beanConfig.setScan(true);
}
}
Hinzugefügt habe ich folgende Abhängigkeiten auf zu bauen.gradle:
compile('io.springfox:springfox-swagger2:'+springfoxSwaggerVersion)
compile('io.springfox:springfox-petstore:'+springfoxSwaggerVersion)
compile('io.springfox:springfox-swagger-ui:'+springfoxSwaggerVersion)
compile('io.swagger:swagger-jersey2-jaxrs:1.5.8')
War ich in der Lage, starten Sie die web-Anwendung aber ich schweife, die url ist für swagger? Ich habe versucht, mit http://localhost:8080, http://localhost:8080/swagger, und http://localhost:8080/swagger-ui.html. Aber keiner von Ihnen erreicht werden konnte.
- Enthält Ihre Anwendung einen context-root? Es sollte jederzeit zur Verfügung stehen swagger-ui.html relativ zum Kontext-root.
- Die context-root ist einfach nur "/".
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke
@EnableSwagger2
annotation undspringfox
Abhängigkeiten funktionieren würde, wenn die Endpunkte implementiert mit Spring MVC statt einer JAX-RS-Implementierung.Gebloggt über dieses vor ein paar Monaten, Microservices mit Spring Boot, Jersey Swagger und Andockfenster
Grundsätzlich, wenn Sie müssen dokumentieren Sie Ihre Jersey-umgesetzt Endpunkte, müssen Sie zu:
1)
Stellen Sie sicher, dass Ihre Spring-Boot-app durchsucht für Komponenten, die sich in speziellen Paketen (ie com.asimio.jerseyexample.config) über:
2) Trikot-Konfiguration-Klasse Umsetzung:
3) Ressourcen-Implementierung mit JAX-RS (Jersey) und Swagger Anmerkungen:
4) Stellen Sie sicher, dass Ihre app ' s Spring-Boot-Konfigurationsdatei ermöglicht eine Unterscheidung zwischen Spring MVC (für Antrieb Endpunkte) und Jersey (für Ressourcen) Endpunkte:
Anwendung.yml
Ich würde Vorschlagen, Einfach zu Benutzen Swagger Jersey-JAXRS und Abhängigkeit beginnen . Mit Swagger Mit Spring Boot ist ziemlich einfach, aber wenn es um die Verwendung mit Jersey , kann es schwierig sein.
Erste, Was wir tun müssen ist, Konfigurieren Sie Stolzieren zu Verwenden mit Jersey und aktualisieren Sie Ihre Jersey Config wie unten.
Jersey Config ist der Ort, wo wir Alles tun müssen, Konfigurationen
Jetzt, dass wir getan haben, alle Konfigurationen, die wir brauchen, um zu überprüfen, dass swagger.json ist erfolgreich generiert wurde oder nicht . Dies ist ein wichtiger Schritt , überprüfen Sie folgenden URL .
Als wir gegeben haben @ - Anwendung Pfad als "/api" und nicht so konfiguriert, dass jeder Kontext, so dass unsere Basis ist der Kontext "/".Daher besuchen Wir als url
http://localhost:8080/api/swagger.json.
Nun, dass unsere stolzieren.json geladen wird, müssen wir uns jetzt konfigurieren Swagger-UI .
Wie bei einer Statischen HTML-oder Ressourcen-Zugriff, in eine einfache web-app.
Wenn Sie nicht sicher sind, wie zu konfigurieren, bitte besuchen Sie diesen Artikel, die sagt, wie zu laden swagger-UI am Ende des Artikels.
Vielleicht verwenden Sie lieber die alte version des springfox, aber jetzt (seit version 2.4.0) muss er konfiguriert werden, die sehr Verschieden von Ihren code, siehe http://springfox.github.io/springfox/docs/current/
Ich habe zum Beispiel den folgenden springfox Konfiguration: