Swagger เป็นซอฟต์แวร์ฟังก์ชั่นการทดสอบฟังก์ชั่นการใช้งานอัตโนมัติ บทความนี้แนะนำวิธีการสั้น ๆ และปัญหาที่พบบ่อยในการรวม Swagger เข้ากับโครงการของคุณ หากคุณต้องการวิเคราะห์ซอร์สโค้ดโครงการในเชิงลึกและเรียนรู้เพิ่มเติมดูวัสดุอ้างอิง
Swagger เป็นกรอบที่ได้มาตรฐานและสมบูรณ์สำหรับการสร้างอธิบายการโทรและการแสดงภาพบริการเว็บสไตล์พักผ่อน เป้าหมายโดยรวมคือทำให้การอัปเดตของไคลเอนต์และไฟล์ด้วยความเร็วเดียวกับเซิร์ฟเวอร์ วิธีการไฟล์พารามิเตอร์และรุ่นจะรวมเข้ากับรหัสฝั่งเซิร์ฟเวอร์อย่างแน่นหนาทำให้ API สามารถซิงโครไนซ์ได้เสมอ Swagger ไม่เคยง่ายต่อการปรับใช้และจัดการและใช้ API ที่ทรงพลัง
สำหรับนักเรียนที่ย้ายอิฐการเขียนอินเทอร์เฟซเป็นเรื่องง่ายการเขียนเอกสารอินเทอร์เฟซนั้นน่ารำคาญมาก หากอินเทอร์เฟซเปลี่ยนแปลงการบำรุงรักษาเอกสารอินเทอร์เฟซนั้นน่ารำคาญยิ่งขึ้นดังนั้นคุณมักจะพบว่าเอกสารไม่ตรงกับโปรแกรม
หลังจากนั้นไม่นานแม้แต่นักพัฒนาก็สับสน
Swagger2 ได้อย่างรวดเร็วและสะดวกในการแก้ปัญหาข้างต้น รายการโปรดใหม่ที่สามารถจัดระเบียบเอกสาร API ที่ทรงพลังได้ด้วยโปรแกรม MVC ฤดูใบไม้ผลิ
เพิ่มรหัสต่อไปนี้โดยตรง
pom.xml
<? xml version = "1.0" การเข้ารหัส = "utf-8"?> <project xmlns = "http://maven.apache.org/pom/4.0.0" xmlns: xsi = "http://www.w3.org/2001/ XSI: schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" <ArtIfactId> WealthWeb </artifactid> <persion> 0.0.1-snapshot </เวอร์ชัน> <cackaging> jar </packaging> <name> WealthWeb </name> <คำอธิบาย> โครงการสาธิตสำหรับการบูตฤดูใบไม้ผลิ </คำอธิบาย> <carent> <Sersion> 1.5.9.release </เวอร์ชัน> <inelypath/> <!-การค้นหาผู้ปกครองจากที่เก็บ-> </parent> <properties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <java.version> 1.8 </java.version> </premerties> <การพึ่งพา> <การพึ่งพา> <roupId> org.springframework.boot </groupid> <ratifactid> Spring-Boot-Starter-test </artifactId> <scope> ทดสอบ </cope> </การพึ่งพา> <การพึ่งพา> <roupId> io.springfox </groupid> <ratifactid> SpringFox-Swagger2 <ArtIfactId> SpringFox-Swagger-ui </artifactid> <version> 2.7.0 </Servive> </derctency> </การพึ่งพา> </project>
สร้างคลาสการกำหนดค่า
แพ็คเกจ com.zhongxin.wealth.apiconfig; นำเข้า org.springframework.context.annotation.bean; นำเข้า org.springframework.context.annotation.configuration; นำเข้า Springfox.documentation.builders.apiinfobuilder Springfox.documentation.builders.requesthandlerselectors นำเข้า Springfox.documentation.service.apiinfo; นำเข้า Springfox.documentation.spi.documentationType; นำเข้า Springfox.documentation.spring.web.plugins.docket; สร้างโดย Dingys เมื่อ 2017/12/8 */@configuration@enablewagger2public คลาส swagger2 {@bean public docket createrestapi () {ส่งคืนใบปะหน้าใหม่ (DocumentyType.swagger_2) .apiinfo (apiinfo ()) .Select () .APIS .paths (pathselectors.any ())) .build (); } Private Apiinfo apiinfo () {ส่งคืน apiinfobuilder ใหม่ () .title ("Langfang สินเชื่อสาธารณะข้อมูลสถิติข้อมูลขนาดใหญ่ -เขียนคอนโทรลเลอร์
แพ็คเกจ com.zhongxin.wealth.web; นำเข้า io.swagger.annotations.apioperation; นำเข้า org.springframework.web.bind.annotation.requestmapping; นำเข้า org.springframework.web.bind.annotation.requestmethod; org.springframework.web.bind.annotation.restcontroller;/*** สร้างโดย dingys เมื่อ 2017/12/7 */ @restcontroller @requestmapping ("/hello") ชั้นเรียนสาธารณะ HelloDondontroller {@apioperation (value = "test interface", notes = "นี่เป็นเพียงอินเทอร์เฟซเพื่อทดสอบการโทรคอนโทรลเลอร์โดยไม่มีตรรกะทางธุรกิจ") @requestmapping (value = {/test "} -รหัสเสร็จสมบูรณ์และเอฟเฟกต์พร้อมแล้ว
คลิกลองดู!
มันมีรายละเอียดมากและสูงมากหรือไม่?
หมายเหตุ: เวอร์ชัน Swagger2.2.2 ที่คุณเพิ่งใช้ในระหว่างกระบวนการรวมจะมีการแจ้งเตือนข้อผิดพลาดในหน้าแรก
{"schemavalidationMessages": [{"ระดับ": "ข้อผิดพลาด", "ข้อความ": "ไม่สามารถอ่านได้จากไฟล์ http://127.0.0.1:8888/v2/api-docs"}]}}อย่างไรก็ตามการเข้าถึงเบราว์เซอร์: http://127.0.0.1:8888/v2/api-docs สามารถรับผลลัพธ์ได้อีกครั้ง
{"Swagger": "2.0", "info": {"เวอร์ชัน": "1.0", "title": "คณะกรรมาธิการ Langfang ยืมตัวด้วยสถิติข้อมูลขนาดใหญ่ส่งผล อินเทอร์เฟซ "," ติดต่อ ": {}," ใบอนุญาต ": {}}," โฮสต์ ":" 127.0.0.1:8886","basepath":/"/","tags": [" คอนโทรลเลอร์ "}]," พา ธ ": {"/สวัสดี/ทดสอบ ": {" รับ ": {" แท็ก ": [" สวัสดีคำสั่งควบคุม "]," สรุป ":" อินเทอร์เฟซทดสอบ "," คำอธิบาย ":" นี่เป็นเพียงอินเทอร์เฟซเพื่อทดสอบการโทรคอนโทรลเลอร์ ication/json”], "ผลิต": ["/"], "การตอบสนอง": {"200": {"คำอธิบาย": "ตกลง", "schema": {"type": "String"}}, "401": {"คำอธิบาย": "ไม่ได้รับอนุญาต"}, "403": พบ"}}}}}}}ไม่ทราบเหตุผลที่เฉพาะเจาะจงและไม่ปรากฏขึ้นหลังจากรุ่น 2.7.0
สรุป
ด้านบนเป็นรหัสตัวอย่างของ swagger รวมของ Springboot แนะนำให้คุณรู้จัก ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!