Vorwort
Im vorherigen Blog haben wir den Dienst an Eureka registriert. Wir können von der UI -Schnittstelle von Eureka sehen, die Dienste auf Eureka Server registriert wurden. Wenn wir jedoch sehen möchten, welche erholsamen Schnittstellenmethoden vom aktuellen Dienst bereitgestellt werden, haben wir keine Möglichkeit, sie zu erhalten. Die traditionelle Methode besteht darin, ein Service -Schnittstellendokument für die Kommunikation zwischen Entwicklern zu sortieren. In diesem Fall wird es oft zu Inkonsistenzen zwischen dem Dokument und dem Code führen, z. Schauen wir uns an, wie Swagger2 das Problem löst.
1. Einführen Sie das JAR -Paket, von dem Swagger2 abhängt
<!-Swagger2-> <De vorstellen> <GroupId> io.springfox </GroupId> <artifactID> Springfox-Swagger2 </artifactId> <version> 2.2.2 </Version> </abhängig> <Depopentcy> <GroupId> io.springfox </gruppe </artifactid> fingfox-swagger-uagr-fusion-fuktid> 2.2. </abhängig>
2. Initialisieren Sie die Konfiguration von Swagger2
@Configuration @enableWagger2 // Aktivieren Sie die Swagger2 -Klasse Swagger2 {@Bean public docket creatreStapi () {// API -Grundinformationen erstellen. .APIS (RequestHandlerSelectors.Basepackage ("com.chhliu.jpa")) // alle APIs unter diesem Paket scannen, die in der Swagger angezeigt werden müssen, mit Ausnahme von @APIIGNORE Annotation. } private apiInfo apiinfo () {// Grundlegende Informationen zum Erstellen von APIs, die in der UI der Swagger angezeigt werden. Neue ApiInfobuilder () .Title ("Erstellen Sie erholsame APIs im Spring-Boot mit Swagger2") // API-Titel.Description ("RESTFOFFFUL-APIs von rdcloud-jpa") // API Beschreibung }}Hinweis: Diese Konfigurationsklasse muss im Anwendungsverzeichnis auf derselben Ebene erstellt werden. Wenn das Projekt beginnt, wird die Konfigurationsklasse initialisiert.
3.. Verbesserung der API -Dokumentinformationen
public interface SonarControllerI { @ApiOperation(value="get Url information corresponding to Sonar of the project group", notes="get Url information corresponding to Sonar of the project group based on id")// Use this annotation to describe interface method information @ApiImplicitParams({ @ApiImplicitParam(name = "id", value = "SonarUrl table ID", required = true, dataType = "Lang", paramtype = "path")}) // Verwenden Sie diese Annotation, um die Methodenparameterinformationen zu beschreiben. Es ist hier zu beachten, dass der Parameter von ParamType als Pfad konfiguriert werden muss. Andernfalls wird ein Fehler gemeldet, wenn der Zugriff auf die Schnittstellenmethode in der UI @getMapping ("/get/{id}") Sonarurl get (@PathVariable Long ID); @Apioperation (value = "Alle URL -Informationen erhalten, die der Projektgruppe Sonar entsprechen") @getMapping ("/get/all") Liste <Sonarurl> getAll (); } Hinweis: Paramtype repräsentiert den Typ des Parameters. Optionale Werte sind "Pfad", "Körper", "Abfrage", "Header", "Form"
4. Verbessern Sie die Rückgabetypinformationen
@Entity (name = "sonar_url") öffentliche Klasse Sonarurl implementiert serialisierbare { / ** * * / private statische endgültige lange Serialversionuid = 1L; @ApimodelProperty (value = "Primärschlüssel", Hidden = False, Notes = "Primärschlüssel, Hidden", fordert = true, DataType = "Long") // Verwenden Sie diese Annotation, um die Eigenschaftsinformationen zu beschreiben. Wenn Hidden = true true, wird diese Eigenschaft in der API @ID @generatedValue (Strategy = GenerationType.auto) private Long ID nicht angezeigt. @ApimodelProperty (value = "url link address") @column (name = "url") private String -URL; @ApimodelProperty (value = "Project Group") @Column (name = "team") privates String -Team; @ApimodelProperty (value = "Abteilung") @Column (name = "Abteilung") private String -Abteilung; ... Getter, Setter -Methode auslassen ...}5. Starten Sie die Anwendung
1. Geben Sie in den Browser ein: http: // localhost: 7622/Swagger-ui.html
2. Die Ergebnisse sind wie folgt:
6. API -Dokumentenzugriff und Tests
Swagger bietet nicht nur API -Schnittstellenfunktion, sondern bietet auch Debugging- und Testfunktionen.
Die Testergebnisse sind wie folgt:
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.