Swagger 入门学习
1、Swagger 简介
1.1、Swagger 是什么?
- Swagger 是一款 RESTful 接口的文档在线生成软件
- Swagger 是一款 RESTful 接口的功能测试软件
- Swagger 是一座前后端开发者沟通的桥梁
Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。
1.2、Swagger 有什么用
- 支持页面展示接口定义,节省专门编写接口文档的时间
- 基于代码生成文案的文档,规避接口文档老旧的问题
- 支持接口调试,降低开发阶段调试成本
1.3、Swagger 支持跨语言
- 支持 go 和 php 语言的 go-swagger 和 swagger-php
- 支持 java 的 springfox
- 支持 js 和 node 的 swagger-node 和 swagger-js
1.4、Why Swagger?
- 软件开发进入微服务时代
- 构建微服务选择提供 REST API 接口调用
- 前后端分离的开发模式
2、Swagger 主要组件
- Swagger Editor - 开源编辑器
- Swagger UI - 呈现可交互的在线文档
- Swagger Codegen - 生成调用代码的工具
2.1、Swagger 官网 Demo 展示
官方网站地址:https://swagger.io/
点击 Swagger UI,Live Demo 即可进入官方演示界面
2.2、Swagger Editor
- Swagger Editor 是一个开源的编辑器
- 基于 yaml 等语法定义 api 并自动生成文档
- 自动导出多种语言的服务端或客户端代码
进入 Swagger Editor 的 在线 Demo,我们可以修改对应的文档配置,实现定制化。
2.3、Swagger UI
- 一款 RESTful 接口文档的在线生成工具
- 一款 RESTful接口的在线测试工具
- 便于最终开发人员轻松地进行各类交互
2.4、Springfox Swagger
- Springfox 由 swagger-springmvc 发展而来
- Springfox 负责扫描代码提取信息生成 API 文档
- Springfox 通过 Swagger-UI 呈现 API 文档
3、SpringBoot 集成 Swagger
- Spring 使用 Springfox-swagger 集成 Swagger
- Springfox 通过扫描注解生成 API 文档
- Springfox 包含方法参数对象注解
引入 Springfox 需要在 pom.xml 中添加两个依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
相信大家已经对 Swagger 有所了解了,后面我会继续学习整理 Swagger 的内容,敬请关注!