推荐一款接口 API 设计神器!
今天栈长给大家推荐一款接口 API 设计神器,传说中的,牛逼哄洪的 Swagger,它到底是什么?今天为大家揭开谜底!
Swagger是什么?

Swagger 如官网所示,它是最好的 API 构建工具。
它是一个围绕 OpenAPI 规范构建的开源工具,它可以帮助我们设计、构建、记录和使用 REST API 接口。
Swagger 包含的主要套件:
- Swagger Editor - 基于浏览器的编辑器,用来编写 OpenAPI 规范。
- Swagger UI - 基于 OpenAPI 规范动态生成 API 规范文档。
- Swagger Codegen - 个模板驱动引擎,用来生成客户端代码。

图片来源见博客水印。
OpenAPI是什么?
上面有说到 Swagger 是一个围绕 OpenAPI 规范构建的开源工具,那么 OpenAPI 是什么呢?
OpenAPI 规范,以前叫 Swagger 规范。它是一个为 REST APIs的接口定义的规范。OpenAPI 可以定义的 API 实体内容包括以下几个部分。
- 请求地址(如:/user)
- 请求类型(如:GET、POST 等)
- 请求参数
- 响应参数
- 验证方式
- 文档信息:如联系人、许可证、服务条件等
这个 OpenAPI 规范可以用 YAML 或者 JSON 来编写,这种格式非常易于学习,可读性对开发人员非常友好。
完整的 OpenAPI 规范可以去官网看一下。
编写文档地址:

为什么需要Swagger?
现在的互联网架构都是前后端分离的模式,还有现在是移动互联网时代了,APP 需要与后端服务器通信也需要维护一套接口,API文档自然就成了前后端开发人员联系的纽带。
编写 API 文档的方式也各有不同,有用 WORD 编写的,有用 confluence 等编写的,但这些方式都不能动态更新,每次接口变更都需要手动维护文档,甚是麻烦。有了 Swagger,可以先做完接口,通过 Swagger 来动态生成和更新 API 文档。
后面的文章会继续介绍如何使用 Swagger 注解来自动生成 API 文档,及如何集成 Spring Boot 来应用实战,关注Java技术栈微信公众号,在后台回复关键字 "工具" 可获取所有历史 Java 工具类文章教程及更新。
本文原创首发于微信公众号:Java技术栈(id:javastack),关注公众号在后台回复 "工具" 可获取更多,转载请原样保留本信息。
推荐一款接口 API 设计神器!的更多相关文章
- 组件接口(API)设计指南-文件夹
组件接口(API)设计指南-文件夹 组件接口(API)设计指南[1]-要考虑的问题 组件接口(API)设计指南[2]-类接口(class interface) 组件接口(API)设计指南[3]-托付( ...
- 前后端分离&接口API设计学习报告
接口API设计学习报告 15331023 陈康怡 什么是API? API即Application Programming Interface.API是一种通道,负责一个程序与另一个程序的沟通.而对于w ...
- 推荐一款全能测试开发神器:Mockoon!1分钟快速上手!
1. 说一下背景 在日常开发或者测试工作中,经常会因为下游服务不可用或者不稳定时,通过工具或者技术手段去模拟一个HTTP Server,或者模拟所需要的接口数据. 这个时候,很多人脑海里,都会想到可以 ...
- 低代码开发,推荐一款Web 端自动化神器:Automa
1. Automa介绍 又到了优秀工具推荐的时候了,今天给大家分享一款前端自动化操作神器: Automa . 首先了解一下Automa是什么? Automa它定位是一款 Chrome 插件,也就意味着 ...
- 推荐一款接口文档在线管理系统-MinDoc
项目简介 MinDoc 是一款针对IT团队开发的简单好用的文档管理系统. MinDoc 的前身是 SmartWiki 文档系统.SmartWiki 是基于 PHP 框架 laravel 开发的一款文档 ...
- 组件接口(API)设计指南[2]-类接口(class interface)
*返回文件夹阅读其它章节: http://blog.csdn.net/cuibo1123/article/details/39894477 类接口(class interface) 你能够參考MGTi ...
- 组件接口(API)设计指南[4]-通知(Notifications)
*返回文件夹阅读其它章节: http://blog.csdn.net/cuibo1123/article/details/39894477 通知(Notifications) 通知是托付协议的还有一半 ...
- 组件接口(API)设计指南[5]-最后的思考
*阅读其它章节: http://blog.csdn.net/cuibo1123/article/details/39894477 最后的思考 我通过困难的学习以及多年的失误.写了这片篇关于创建组件和a ...
- 推荐一款Python数据可视化神器
1. 前言 在日常工作中,为了更直观的发现数据中隐藏的规律,察觉到变量之间的互动关系,人们常常借助可视化帮助我们更好的给他人解释现象,做到一图胜千文的说明效果. 在Python中,常见的数据可视化库有 ...
随机推荐
- Macro For Creating a dwStyle for a window without a menu bar and title bar
Introduce For CreateWindowEx Creates an overlapped, pop-up, or child window with an extended window ...
- CF1093
题解: D: 比较显然这个图得是二分图才行 然后每个二分图上的方案是$(2^a+2^b) (a,b是两种颜色的个数)$ E: 我tm就不该先写bitset的 正解和bitset都很好想 因为是个排列, ...
- 乞丐版JAVA扫雷
事先声明:本人是一位刚接触Java不久的菜鸟,所以代码写的略显臃肿,敬请谅解!这个扫雷是我在暑假时做的,灵感来源于csdn上某位大神的博客,不过我个人实在不喜欢他的代码实现,于是我自己写了一个实现上不 ...
- CTSC2018 被屠记
占坑 day-1 Gery 和 lll 在火车上谈笑风生 day0 上午 Gery:"我要吊打全场" 下午 Gery 忘带杯子了. Gery:"我过两天碰杯了就可以喝到水 ...
- 多项式与三角函数求导——BUAA OO 第一单元作业总结
第一次作业 需求简要说明 针对符合规定的多项式表达式输出其符合格式规定的导函数多项式,格式错误输出WRONG FORMAT! 带符号整数 支持前导0的带符号整数,符号可省略,如: +02.-16> ...
- margin与padding的bug
1.在页面布局时,值对于块元素来说,相邻的两个兄弟块元素间的margin-top与上一个兄弟的margin-bottom重合时, 解决办法:对其中一个块元素中设置 display:inline- ...
- JS浏览器兼容问题
一.JS与DOM的兼容性: (一) DOM节点的访问: 1.以前对DOM节点访问一般用“document.All.元素ID属性值”或者“document.元素ID属性值”这种简化的方法,在FireFo ...
- XGBoost原理和公式推导
本篇文章主要介绍下Xgboost算法的原理和公式推导.关于XGB的一些应用场景在此就不赘述了,感兴趣的同学可以自行google.下面开始: 1.模型构建 构建最优模型的方法一般是最小化训练数据的损失 ...
- IDEA使用Git传放项目
使用Git下载项目到IDEA工具上开发 1. 下载Git 软件工具 https://git-scm.com/ 2. 下载安装 3.打开IDEA 配置Git 4. 搜索Git 在登入 5.选择自己Git ...
- 01.在vue中通过 JSONP 方式来跨域
//1.引入 : 在main.js 中引入该文件即可 //2.使用: axios.jsonp('地址').then(res => { // console.log(res) // } impor ...