Swagger ist ein RESTful Interface -Dokument für automatische Erzeugung + Funktionstests -Funktionssoftware. In diesem Artikel wird kurz die Methoden und einige häufige Probleme der Integration von Prahlerei in Ihr Projekt vorgestellt. Wenn Sie den Projektquellcode ausgiebig analysieren und mehr erfahren möchten, lesen Sie die Referenzmaterialien.
Swagger ist ein standardisiertes und vollständiges Framework zum Generieren, Beschreiben, Anrufen und Visualisieren von Webdiensten im Stil. Das Gesamtziel ist es, das Client- und Dateisystem mit der gleichen Geschwindigkeit wie der Server zu aktualisieren. Dateimethoden, Parameter und Modelle werden eng in den serverseitigen Code integriert, sodass die API immer synchronisiert bleibt. Swagger war noch nie einfacher, leistungsstarke APIs einzusetzen und zu verwalten und zu verwenden.
Für Schüler, die Ziegel bewegen, ist das Schreiben von Schnittstellen einfach und es ist sehr ärgerlich, Schnittstellendokumente zu schreiben. Wenn sich die Schnittstelle ändert, ist die Aufrechterhaltung von Schnittstellendokumenten noch ärgerlicher, sodass Sie häufig feststellen, dass das Dokument nicht mit dem Programm übereinstimmt.
Nach einer Weile waren sogar die Entwickler verwirrt
Swagger2 löst schnell und bequem die oben genannten Probleme. Ein neuer Favorit, der leistungsstarke API -Dokumentation mit Frühlings -MVC -Programmen organisieren kann.
Der folgende Code wird direkt hinzugefügt
pom.xml
<? xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.zhongxin.wealth</groupId> <artifactId>wealthweb</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>wealthweb</name> <description>Demo project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version> 1.5.9.Release </Version> <relativePath/> <!-SOOKUP PORTER aus Repository-> </übergeordnet> <properties> <project.build.sourceEncoding> utf-8 </project.build.sourceencoding> <projectpoting.outputcoding> utf-8 </project.Rejec. <java.version> 1.8 </java.version> </properties> <abhängigkeiten> <abhängigkeit> <GroupId> org.springFramework.boot </GroupId> <artifactId> Spring-Boot-Starter-Web </artifactId> </abhängig> <Epaptid> <gruppe <gruppenstarter-starter-wirs <artifactId> Spring-Boot-Starter-Test </artifactId> <Scope> Test </scope> </abhängig> <abhängigkeit> <GroupId> io.springfox </Groupid> <artifactId> Springfox-Swagger2 </artifactId> <version> 2.7.0 </Version> </vgl.> </filech> </filech> </vgl. <artifactId> Springfox-Swagger-UI </artifactId> <version> 2.7.0 </Version> </abhängig> </abhängig> </project>
Erstellen Sie eine Konfigurationsklasse
Paket com.zhongxin.wealth.apiconfig; import org.springframework.context.annotation.bean; import org.springframework.context.annotation springfox.documentation.builders.requestHandlerSelektoren; importfox.documentation.service.apiinfo; importfox.documentation.spi.DocumentationType; importfox.documentation.web.plugins.docket; Erstellt von Dingys am 2017/12/8. */@Configuration@enableWagger2Public Class Swagger2 {@Bean public docket creatreStapi () {return New Docket (documentationType.swagger_2) .apiinfo (apiinfo ()) .Select () .apis (RequestHandLectors.basepackage ("com.zhongxin.Wektor)))))))))). .Paths (PathSelectors.anan ())) .build (); } private apiInfo apiinfo () {Neue apiInfobuilder zurückgeben () .Title ("Langfang öffentliches Darlehen Big Data Statistics Ergebnisse Ausgabe Schnittstelle") .version ("1.0") .build (); }}Schreiben Sie Controller
Paket com.zhongxin.wealth.web; Import io.swagger.annotations.apioperation; import org.springframework.web.bind.annotation.RequestMapping; org.springframework.web.bind.annotation.restcontroller;/*** Erstellt von Dingys am 2017/12/7. */ @RastController @requestmapPing ("/hello") public class hellowordController {@apioperation (value = "test interface", notes = "Dies ist nur eine Schnittstelle zum Testen des Controller -Anrufs ohne geschäftliche Logik") @RequestMapping (Value = {/test "}, MethodMethod.Get) -Stest () {{}, methodMethod.get.get) Stringstest () {{}, methodMethod.Get). }}Der Code ist abgeschlossen und der Effekt ist fertig
Klicken Sie auf Probieren Sie es aus!
Ist es sehr detailliert, sehr High-End?
HINWEIS: Die Version der Swagger2.2.2, die Sie gerade während des Integrationsprozesses verwendet haben, hat eine Fehlererinnerung auf der Homepage.
{"ScheMavalidationMessages": [{"Level": "Fehler", "Nachricht": "Kann nicht aus der Datei http://127.0.0.1:8888/v2/api-docs"}]} gelesen werden "}]}Der Browserzugriff: http://127.0.0.1:8888/v2/api-docs kann die Ergebnisse erneut erzielen
{"Swagger": "2.0", "Info": {"Version": "1.0", "Titel": "Langfang Commission-Loan Big Data Statistics Ergebnisse Ausgabe Schnittstelle "," Kontakt ": {}," Lizenz ": {}}," Host ":" 127.0.0.1:888ingen" Controller"}],"paths":{"/hello/test":{"get":{"tags":["hello-word-controller"],"summary":"test interface","description":"This is just an interface to test the controller call, without any business logic","operationId":"testHelloUsingGET","consumes":["appl iction/json ”]," produziert ": ["/"]," Antworten ": {" 200 ": {" Beschreibung ":" OK "," Schema ": {" Typ ":" String "}}," 401 ": {" Beschreibung ":" unauthorized "}," 403 ": {" Beschreibung ":": ":": " Gefunden"}}}}}}}Der spezifische Grund ist unbekannt und ist nach der Version 2.7.0 nicht erschienen.
Zusammenfassen
Das obige ist der Beispielcode von Springboot Integrated Swagger, der Ihnen vorgestellt wurde. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!