Swagger 介绍
简介
Swagger 是最流行的 API 开发工具,它遵循 OpenAPI Specification(OpenAPI 规范,也简称 OAS)。
Swagger 可以贯穿于整个 API 生态,如 API 的设计、编写 API 文档、测试和部署。
Swagger 是一种通用的,和编程语言无关的 API 描述规范。
应用场景
如果你的 RESTful API 接口都开发完成了,你可以用 Swagger-editor 来编写 API 文档( yaml 文件 或 json 文件),然后通过 Swagger-ui 来渲染该文件,以非常美观的形式将你的 API 文档,展现给你的团队或者客户。
如果你的 RESTful API 还未开始,也可以使用 Swagger 生态,来设计和规范你的 API,以 Annotation (注解)的方式给你的源代码添加额外的元数据。这样,Swagger 就可以检测到这些元数据,自动生成对应的 API 描述信息。也就是说,Swagger 支持自动生成 API 文档。
规范
Swagger Specification(Swagger 规范),规定了如何对 API 的信息进行正确描述。
Swagger 规范,以前称作 Swagger Specification,现在称作 OpenAPI Specification(简称 OAS)。
Swagger 规范学起来也不难,想熟练使用 Swagger 就必须熟悉 Swagger 规范。
Swagger 规范本身是与编程语言无关的,它支持两种语法风格:
YAML 语法
JSON 语法
这两种语法风格可以相互转换,都可以用来对我们的 RESTful API 接口的信息进行准确描述,便于人类和机器阅读。
在 Swagger 中,用于描述 API 信息的文档被称作 Swagger 文档。
Swagger 的规范主要有两种:
Swagger 2.0
OpenAPI 3.0
OpenAPI 3.0 规范是在 2017 年发布的,它在 Swagger 2.0 的基础上进行了优化,包括废弃某些关键词(host、basePath等),新增了一些关键词(servers、components、securitySchemes 等)。
OpenAPI 3.0 比 Swagger 2.0 更强大,使用起来更加灵活、方便。推荐使用 OpenAPI 3.0 。
关于 Swagger 规范的详细信息,请参考官方文档 https://swagger.io/docs/ 。
Swagger 文档
Swagger 文档(文件),指的是符合 Swagger 规范的文件,用于对 API 的信息进行完整地描述。
Swagger 文档是整个 Swagger 生态的核心。
Swagger 文档的类型有两种:yaml 文件和 json 文件。
yaml 文件用的是 YAML 语法风格;json 文件用的是 JSON 语法风格。这两种文件都可以用来描述 API 的信息,且可以相互转换。
Swagger 文档(swagger.json 或 swagger.yaml)中关于 API 的描述必须符合 Swagger 规范,Swagger 文档是整个 Swagger 生态的核心。
简单的说,Swagger 文档就是 API 文档,只不过 Swagger 文档是用特定的语法来编写的。Swagger 文档本身看起来并不美观,这时,就需要一个好的 UI 工具将其渲染一番,这个工具就是 Swagger-ui。
我们可以用任何编辑器来编写 Swagger 文档,但为了方便在编辑的同时,检测 Swagger 文档是否符合规范,就有了 Swagger-editor 编辑器。
Swagger 生态主要包含以下几种工具:
Swagger-editor 是一种编辑器,用于编写 Swagger 文档,还支持文档实时检测、API 调试等功能。
Swagger-ui 是一种 UI 渲染工具,用于渲染 Swagger 文档,以提供美观的 API 界面。
Swagger-codegen 是一种代码生成器,可基于 Swagger 文档,来构建服务器端 stub 和 客户端 SDK。
参考:https://blog.csdn.net/lamp_yang_3533/article/details/80114083
Swagger 介绍的更多相关文章
- [转帖]Swagger介绍及使用
Swagger介绍及使用 32018.12.07 01:39:21字数 2241阅读 89207 https://www.jianshu.com/p/349e130e40d5 导语: 相信无论是前端还 ...
- Swagger介绍-一套流行的API框架
简介 号称:世界最流行的API框架 官网:http://swagger.io/ 解决什么问题:在前后台分离的开发模式中,减小接口定义沟通成本,方便开发过程中测试,自动生成接口文档. 实例代码位置:ht ...
- Swagger介绍及使用
相信无论是前端还是后端开发,都或多或少地被接口文档折磨过.前端经常抱怨后端给的接口文档与实际情况不一致.后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新.其实无论是前端调用后端,还是后端调用 ...
- 使用swagger作为restful api的doc文档生成
初衷 记得以前写接口,写完后会整理一份API接口文档,而文档的格式如果没有具体要求的话,最终展示的文档则完全决定于开发者的心情.也许多点,也许少点.甚至,接口总是需要适应新需求的,修改了,增加了,这份 ...
- Harbor之Swagger REST API
目录 Swagger介绍 Harbor Swagger预览 整合本地Harbor与Swagger Swagger介绍 Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTFu ...
- Spring MVC中使用Swagger生成API文档和完整项目示例Demo,swagger-server-api(二十)
一:Swagger介绍 Swagger是当前最好用的Restful API文档生成的开源项目,通过swagger-spring项目 实现了与SpingMVC框架的无缝集成功能,方便生成spring r ...
- springboot+swagger集成
一.swagger介绍 Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件.本文简单介绍了在项目中集成swagger的方法和一些常见问题.如果想深入分析项目源码,了解更多内容 ...
- 接口文档神器Swagger(上篇)
本文来自网易云社区 作者:李哲 接口文档管理一直是一个让人头疼的问题,伴随着各种接口文档管理平台涌现,如阿里开源的rap,ShowDoc,sosoapi,等等(网上能找到很多这种管理平台,包括我们自己 ...
- 使用swagger作为restful api的doc文档生成——从源码中去提取restful URL接口描述文档
初衷 记得以前写接口,写完后会整理一份API接口文档,而文档的格式如果没有具体要求的话,最终展示的文档则完全决定于开发者的心情.也许多点,也许少点.甚至,接口总是需要适应新需求的,修改了,增加了,这份 ...
随机推荐
- IDEA设置CodeGlance颜色
CodeGlance是IDEA的mini地图插件, 默认情况下, 其颜色和编辑框的颜色基本一致, 而安装CodeGlance就是为了方便滚动框的上下拖拉, 颜色一致的话会将这种CodeGlance比拖 ...
- 利用Post方法进行数据提交
import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import ...
- [zhuanzai]Bean对象注入失败 .NoSuchBeanDefinitionException: No qualifying bean of type..
nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying b ...
- [转载]Java并发编程:volatile关键字解析
Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果.在 ...
- unreal 抓mobile 管线
把renderdoc挂到生成的exe上 用命令行 “路径\xx.uproject” scenename -game -FeatureLevelES31 -windowed -resx=1920 -re ...
- osm2pgsql
osm2pgsql -d gis --create --slim --drop --flat-nodes '/data/nodes.bin' -G --hstore --tag-transform-s ...
- React组件式编程Demo-用户的增删改查
1.项目结构 项目是基于webpack4, 参考 创建基本的webpack4.x项目 2.页面效果 初始化效果
- Docker 阿里云镜像加速
1.进入阿里云镜像加速页面: https://cr.console.aliyun.com/#/accelerator 2.修改/etc/docker/daemon.json文件配置,没有则新建: ? ...
- web+下载文件夹
文件下载的实质就是文件拷贝,将文件从服务器端拷贝到浏览器端,所以文件下载需要IO技术将服务器端的文件读取到,然后写到response缓冲区中,然后再下载到个人客户端. "> <m ...
- am335x system upgarde ddr3 capacity configuration base on TI DDR3 Software Leveling Tool (二十)
follow test is use ti DDR Software Leveling op log. AM335x DDR3 Software Leveling -- Version: Beta ...