Swagger - это программное обеспечение для автоматического генерации «Генерация». В этой статье кратко представлены методы и некоторые общие проблемы интеграции Swagger в ваш проект. Если вы хотите подробно проанализировать исходный код проекта и узнать больше, см. Справочные материалы.
Swagger-это стандартизированная и полная структура для генерации, описания, вызова и визуализации веб-сервисов в стиле Restful. Общая цель состоит в том, чтобы сделать обновление клиента и файловой системы с той же скоростью, что и сервер. Методы файлов, параметры и модели тесно интегрированы в код на стороне сервера, что позволяет API всегда синхронизировать. Swagger никогда не было проще в развертывании, управлении и использовании мощных API.
Для студентов, которые перемещают кирпичи, писать интерфейсы легко, писать интерфейсные документы очень раздражают. Если интерфейс меняется, поддержание интерфейсных документов еще более раздражает, поэтому вы часто можете обнаружить, что документ не соответствует программе.
Через некоторое время даже разработчики были смущены
Swagger2 быстро и удобно решает вышеуказанные проблемы. Новый фаворит, который может организовать мощную документацию API Restful с помощью программ Spring MVC.
Следующий код добавляется напрямую
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"> <dolidyversion> 4.0.0 </modelversion> <groupid> com.zhongxin.wealth </GroupD> <ArtifactId> WealthWeb </artifactid> <sersion> 0.0.1-snapshot </version> <duckaging> jar </упаковка> <mame> wealthweb </name> <socripting> демо-проект для Spring Boot </description> <parent> <groupid> org.springframework.boot </GroupId> <StifactId> spring-boot-startter-ppact-ppact-ppact-ppart-ppact-ppact-ppact-ppact-ppact-p-part-p-part-p-part-p-part-p-part-p-pact-p-part-p-partward <sersion> 1.5.9.reelease </version> <venterativePath/> <!-Lookup Parent из репозитория-> </parent> <properties> <project.build.sourceencoding> utf-8 </project.build.sourceencoding> <project.roport.outputencoding> utf-8 </project. <java.version> 1.8 </java.version> </properties> <depertiencies> <depertiency> <groupid> org.springframework.boot </GroupID> <StifactId> Spring-boot-starter-web </artifactid> </jepertive> <dehiced> <groupid> org.sprimework.boot> </grape> <dehyse> <groupid> org.spramework.boot> <ArtifactId> Spring-Boot-Starter-test </artifactId> <scope> test </scope> </dependency> <depertion> <groupid> io.springfox </groupid> <artifactid> springfox-swagger2 </artifactid> <serse> 2.7 <ArtifactId> Springfox-swagger-ui </artifactid> <sersive> 2.7.0 </version> </dependency> </depertive> </project>
Создать класс конфигурации
пакет com.zhongxin.wealth.apiconfig; import org.springframework.context.annotation.bean; импорт org.springframework.context.annotation.configuration; импорт Springfox.documentation.Builders.ApiinFobuilder; импорт Springfox.Documentation.Builders.PateM.PateM.PateM. Springfox.documentation.Builders.RequestHandLerselectors; Import Springfox.documentation.Service.Apiinfo; импорт Springfox.documentation.spi.documentationtype; импорт Springfox.documentation.spring.web.plugins.docket; импорт Springfox.documentation.nannotations. Dingys 2017/12/8. */@Configuration@entableswger2public class swagger2 {@bean public docket createrestapi () {return new docket (documationtype.swagger_2) .apiinfo (apiinfo ()) .select () .Apis (requestHandlerselectors.basepackage ("com.zhongxin.weals.weals.weals. .paths (pathseselectors.any ())) .build (); } private apiinfo apiinfo () {return new apiinfobuilder () .title ("Langfang Proplus Loan Creed Статистика }}Написать контроллер
пакет com.zhongxin.wealth.web; import io.swagger.annotations.apioperation; импорт org.springframework.web.bindation.annotation.requestmapping; импорт org.springframework.web.bindatation.requestmethod; import.spramework.w.bindtation.restrestration.restrestration. Создано Dingys 2017/12/7. */ @Restcontroller @requestMapping ("/hello") открытый класс HellowordController {@Apioperation (value = "Test Interface", Notes = "Это просто интерфейс для проверки вызова контроллера, без какой -либо бизнес -логики") @Requestmapping (value = {"/test", метод = requestMethod.get) public String testhello () {return "; }}Код завершен, и эффект готов
Нажмите, попробуйте!
Это очень подробно, очень высококачественный?
Примечание. Версия Swagger2.2.2, которую вы только что использовали во время процесса интеграции, будет иметь напоминание об ошибке на домашней странице.
{"SchemavalidationMessages": [{"level": "ошибка", "сообщение": "не может читать из файла http://127.0.0.1:8888/v2/api-docs"}]}}}}}}}}}}}}}}}}}}Тем не менее, доступ к браузере: http://127.0.0.1:8888/v2/api-docs может снова получить результаты
{"Swagger": "2.0", "info": {"Version": "1.0", "title": "Langfang Commission Commission-Loan статистика статистики Интерфейс "," contact ": {}," Лицензия ": {}}," Host ":" 127.0.0.1:8888","basepath"""/","tags" {"name"! Контроллер "}]," paths ": {"/hello/test ": {" get ": {" Tags ": [" Hello-word-controller "]," Сводка ":" Test Interface "," Описание ":" Это просто интерфейс для проверки Controller Call, без какого-либо бизнес-логики "," OperationId ":" TestHellouseGege ",": ":" ":": "": ":" ":": ":": ":": ":": ":": ":" ":" nation/json »],« Продюсеры »: ["/"]," Ответы ": {" 200 ": {" Описание ":" OK "," Schema ": {" type ":" String "}}," 401 ": {" Описание ":" untauthorized "}," 403 ": {" Описание ":": "Для" 404 ":" Найденный"}}}}}}}Конкретная причина неизвестна, и она не появилась после версии 2.7.0.
Суммировать
Выше приведено пример кода Springboot Integrated Swagger, представленный вам. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!