Swagger는 편안한 인터페이스 문서 자동 생성 + 기능 테스트 기능 소프트웨어입니다. 이 기사는 Swagger를 프로젝트에 통합하는 방법과 몇 가지 일반적인 문제를 간단히 소개합니다. 프로젝트 소스 코드를 깊이 분석하고 자세히 알아 보려면 참조 자료를 참조하십시오.
Swagger는 편안한 스타일의 웹 서비스를 생성, 설명, 호출 및 시각화하기위한 표준화되고 완전한 프레임 워크입니다. 전반적인 목표는 클라이언트 및 파일 시스템을 서버와 동일한 속도로 업데이트하는 것입니다. 파일 방법, 매개 변수 및 모델은 서버 측 코드에 엄격하게 통합되어 API가 항상 동기화 될 수 있습니다. Swagger는 강력한 API를 배포하고 관리하고 사용하기가 더 쉽지 않았습니다.
벽돌을 움직이는 학생들에게는 인터페이스 작성이 쉽습니다. 인터페이스 문서 작성은 매우 성가신 일입니다. 인터페이스가 변경되면 인터페이스 문서를 유지 관리하는 것이 훨씬 성가 시므로 종종 문서가 프로그램과 일치하지 않는다는 것을 알 수 있습니다.
얼마 후, 개발자조차도 혼란 스러웠습니다
Swagger2는 위의 문제를 빠르고 편리하게 해결합니다. Spring MVC 프로그램으로 강력한 RESTFUL API 문서를 구성 할 수있는 새로운 좋아하는 사람.
다음 코드가 직접 추가됩니다
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-instance" xsi : schemalocation = "http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modeversion> 4.0.0 </modelversion> <groupid> com.zhongxin.wealth> <artifactweat> <버전> 0.0.1-snapshot </version> <packaging> jar </packaging> <name> wealthweb </name> <description> 스프링 부츠를위한 데모 프로젝트 </descript> <perg.springframework.boot </groupid> <artifactid> spring-boot-starter-parent </artifactid> <버전> </version>. 저장소에서 부모 조회-> </parent> <properties> <project.build.build.build.sourceencoding> utf-8 </project.build.sourceencoding> <project.reporting.outputencoding> utf-8 </project.reporting.outputencoding> <java.versition> 1.8 </java. <pectionency> <groupId> org.springframework.boot </groupid> <artifactid> 스프링-부트-스타터-web </artifactid> </fectionency> <groupid> org.springframework.boot </groupid> <artifactid> spring-boot-starter-test </artifactid> </artifactid> </artifactid> <pectionency> <groupid> io.springfox </groupid> <artifactid> springfox-swagger2 </artifactid> <버전> 2.7.0 </version> </dependency> <prectionency> <groupid> io.springfox </groupid> <artifactid> springfox-swagger-ui </artifactid>. </종속성> </project>
구성 클래스를 만듭니다
package com.zhongxin.wealth.apiconfig; import org.springframework.context.annotation.bean; import org.sprameframework.context.annotation.configuration; import springfox.documentation.builders.apiinfobuilder; import springfox.documentation.builders springfox.documentation.builders.requesthandlerselectors; import springfox.documentation.service.apiinfo; import springfox.documentation.spi.documentationtype; import springfox.documentation.spring.web.plugins.docket.documentation.swagger2.ondlogger2. 2017/12/8에 Dingys가 제작했습니다. */@configuration@enableswagger2public class swagger2 {@bean public docket createrestapi () {return new docket (d .paths (pathSelectors.any ()) .build (); } private apiinfo apiinfo () {return new apiinfobuilder () .Title ( "langfang public loan 빅 데이터 통계 결과 출력 인터페이스") .version ( "1.0") .Build (); }}컨트롤러를 쓰십시오
package com.zhongxin.wealth.web; import io.swagger.annotations.apioperation; import org.springframework.bind.bind.bind.bind.bind.bind.bind.bind.bind.bind.bind.springframework.bind.bind.annotation.requestMethod; import org.springframework.web.bind.bind.notation. * 2017/12/7에 Dingys가 만들었습니다. */ @ @restController ( "/hello") public class helloWordController {@apioperation (value = "test interface", notes = "이것은 비즈니스 로직없이 컨트롤러 호출을 테스트하는 인터페이스 일뿐입니다. }}코드가 완료되고 효과가 준비되었습니다
시도해보십시오!
매우 상세하고 매우 고급입니까?
참고 : 통합 프로세스 중에 방금 사용한 Swagger2.2.2 버전은 홈페이지에 오류 알림이 있습니다.
{ "schemavalidationMessages": [{ "level": "error", "message": "파일에서 읽을 수 없습니다 http://127.0.1:8888/v2/api-docs"}}}그러나 브라우저 액세스 : http://127.0.0.1:8888/v2/api-docs는 다시 결과를 얻을 수 있습니다.
{ "Swagger": "2.0", "Info": { "버전": "1.0", "Title": "Langfang Commission-Loan Big Data 통계 결과 출력 인터페이스 ","contact ": {},"라이센스 ": {}},"host ":"127.0.0.1:888",“127.0.0.1:888","basepath":"/"/"tags":) {"name":"hello-word-controller", ."hello Word 컨트롤러 "}],"paths ": {"/hello/test ": {"get ": {"tags ": ["hello-word-controller ","summary ":"test interface ","description ":"이것은 비즈니스 논리없이 컨트롤러 호출 ","OperationID ":"TestHellousingget ","APCL "을 테스트하는 인터페이스 일뿐입니다. ICICING/JSON]], "COURTES": [ "/"], "응답": { "200": { "description": "OK", "schema": { "type": "string"}}, "401": { "설명": "무단"}, "403": { "description": "404": "{"description ":": "{"description ":"noncridden ":" 설립하다"}}}}}}}구체적인 이유는 알려지지 않았으며 2.7.0 버전 이후에는 나타나지 않았습니다.
요약
위는 SpringBoot 통합 Swagger의 예제 코드입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!