Swagger adalah dokumen antarmuka yang tenang generasi otomatis + perangkat lunak fungsi pengujian fungsional. Artikel ini secara singkat memperkenalkan metode dan beberapa masalah umum dalam mengintegrasikan kesombongan ke dalam proyek Anda. Jika Anda ingin menganalisis kode sumber proyek secara mendalam dan mempelajari lebih lanjut, lihat materi referensi.
Swagger adalah kerangka kerja standar dan lengkap untuk menghasilkan, menggambarkan, memanggil, dan memvisualisasikan layanan web bergaya REST. Tujuan keseluruhannya adalah membuat pembaruan klien dan sistem file pada kecepatan yang sama dengan server. Metode file, parameter dan model diintegrasikan dengan ketat ke dalam kode sisi server, memungkinkan API untuk selalu disinkronkan. Kesombongan tidak pernah semudah ini untuk digunakan dan mengelola dan menggunakan API yang kuat.
Bagi siswa yang memindahkan batu bata, antarmuka menulis itu mudah, menulis dokumen antarmuka sangat menjengkelkan. Jika antarmuka berubah, memelihara dokumen antarmuka bahkan lebih mengganggu, sehingga Anda sering dapat menemukan bahwa dokumen tersebut tidak cocok dengan program tersebut.
Setelah beberapa saat, bahkan pengembang bingung
Swagger2 dengan cepat dan nyaman memecahkan masalah di atas. Favorit baru yang dapat mengatur dokumentasi API RESTful yang kuat dengan program MVC Spring.
Kode berikut ditambahkan langsung
pom.xml
<? Xml Version = "1.0" encoding = "UTF-8"?> <Project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/xmlschema 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.zhongx. <ArtifactId> WealthWeb </stifactid> <version> 0.0.1-Snapshot </version> <packaging> Jar </packaging> <name> WealthWeb </name> <creckripe> Proyek Demo untuk Spring Boot </creckripe> <tuxter> org.springframework.Boot </groupid> <tartif> <groupid> org.springframework.boot </groupid> <version> 1.5.9.release </version> <relativePath/> <!-pencarian orangtua dari repositori-> </parents> <properties> <proyect.build.sourceencoding> UTF-8 </project.build.sourceencoding> <poject.reporting.outputencoding> utf-8 </project.project.project.project.project.project.project.project.project.project.project.project.project.project.project.project.project.project.project.project.project.project.project.project.project.project.project.projeksi. <Java.Version> 1.8 </java.version> </ Properties> <dependencies> <dependency> <GroupId> org.springframework.boot </groupid> <ArtifactId> <tempar-boot-starter-web </arttifactid> </dependency> <dependency> <groupid> </arttifactid> </dependency> <dependency> <groupding> </arttifactid> </dependency> <groupping> <groupid> <ArtifactId> Spring-boot-starter-test </arttifactid> <scope> test </seupope> </gandendency> <dependency> <groupid> io.springfox </groupid> <ArtifactId> Springfox> </Artifactid> <version> 2.7.0 </Versi> </dependency> </Artifactid> <versi> 2.7.0 </Versi> </Depgerency> </Artifactid> <versi> 2.7.0 </Versi> </Versi> </Dependency> </Artifactid> <version> 2.7.0 <ArTifactId> springfox-swagger-ui </artifactid> <version> 2.7.0 </version> </gandendency> </gendensi> </poject>
Buat kelas konfigurasi
package com.zhongxin.wealth.apiConfig;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import springfox.documentation.builders.ApiInfoBuilder;import springfox.documentation.builders.PathSelectors;import springfox.documentation.builders.requesthandlerselectors; impor springfox.documentation.service.apiinfo; impor springfox.documentation.spi.documentationType; impor springfox.documentation.spring.web.plugins.docket; impor springfox.document. Dingys pada 2017/12/8. */@Configuration@enableSwagger2public kelas Swagger2 {@bean docket public createrestapi () {return new docket (documentationType.swagger_2) .ApiInfo (apiInfo ()) .select () .apis (requestHandlectors.basepackage ("com.zhongxin") .paths (pathselectors.any ())) .build (); } private apiInfo apiInfo () {return new ApiInfobuilder () .title ("Langfang Pinjaman Publik Statistik Data Besar Hasil Antarmuka Output") .Version ("1.0") .build (); }}Tulis pengontrol
package com.zhongxin.wealth.web;import io.swagger.annotations.ApiOperation;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.RestController;/** * Dibuat oleh Dingys pada 2017/12/7. */@RestController@RequestMapping("/hello")public class HelloWordController { @ApiOperation(value="test interface", notes="This is just an interface to test the controller call, without any business logic") @RequestMapping(value = {"/test"},method = RequestMethod.GET) public String testHello(){ return "hello"; }}Kode selesai, dan efeknya sudah siap
Klik Coba!
Apakah sangat detail, sangat mewah?
Catatan: Versi Swagger2.2.2 yang baru saja Anda gunakan selama proses integrasi akan memiliki pengingat kesalahan di beranda.
{"schemaValidationMessages": [{"level": "error", "message": "tidak dapat membaca dari file http://127.0.0.1:8888/v2/api-docs"}]}Namun, akses browser: http://127.0.0.1:8888/v2/api-docs bisa mendapatkan hasilnya lagi
{"Swagger": "2.0", "info": {"versi": "1.0", "title": "Langfang Commission-Loan Big Data Statistics Output Antarmuka "," contact ": {}," lisensi ": {}}," tuan rumah ":" 127.0.0.1:8888","BasePath":"/","Tags": media menghadello Controller "}]," paths ": {"/hello/test ": {" get ": {" tag ": [" hello-word-controller "]," ringkasan ":" antarmuka uji "," deskripsi ":" Ini hanya antarmuka untuk menguji panggilan controller, tanpa logika bisnis "," OperationId ":" TestHellouseLouseGget, "Tanpa Aplikasi", "OperationID": "TestHellousgetingget," TestHelloLoLOgget, "TestHelloLoLOgget," TestHellouseDer, "TestHellouse." icication/json "]," memproduksi ": ["/"]," Responses ": {" 200 ": {" deskripsi ":" ok "," skema ": {" type ":" string "}}," 401 ": {" tidak ada. "DESKRIPSI"}, "404": {":": ":": "No." Ditemukan"}}}}}}}Alasan spesifik tidak diketahui, dan belum muncul setelah versi 2.7.0.
Meringkaskan
Di atas adalah contoh kode Springboot Integrated Swagger yang diperkenalkan kepada Anda. Saya harap ini akan membantu Anda. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!