Swagger 就像是软件开发中的**菜单和说明书**。
## 📌 通俗一点
假如你去一家餐厅,服务员递给你一本菜单,告诉你:
- 菜名是什么?
- 每个菜的配料是什么?
- 价格是多少?
- 怎么搭配点餐比较合适?
Swagger 就是在软件开发中,这本菜单和说明书的角色:
- 清楚地展示你的 **API(软件之间对话的接口)** 都有哪些。
- 每个接口需要输入什么参数(点餐时告诉服务员你的需求)。
- 每个接口能给你返回什么结果(端上来的菜是什么样子)。
- 每个接口做什么用的(这道菜适合什么人吃)。
---
## 📌 为什么要用 Swagger?
软件通常会对外提供许多功能,这些功能需要其他软件或开发者调用。
没有清晰的文档,开发者只能靠口口相传或者阅读源码去理解,费时费力。
而有了 Swagger,你的 API 文档会自动生成,简单明了,开发者一看就懂。
---
## 📌 Swagger 的优势
- **自动生成文档:** 你不用手动写繁琐的说明。
- **交互式界面:** 直接在线测试接口,就像在餐厅直接试吃菜品一样。
- **易于沟通协作:** 前端、后端工程师交流时更加高效。
- **保持更新:** API 改动时,说明自动同步更新,避免了“菜单和实际菜品不一致”的尴尬。
---
## 📌 举个实际例子
比如你开发了一个天气查询的 API 接口:
- 你想告诉别人如何使用这个接口:需要输入城市名,返回天气预报。
- Swagger 会自动给你一个漂亮的网页,告诉别人:
- 输入参数是:城市名称(比如“北京”)。
- 返回数据是:当天的温度、天气、风力、空气质量等。
- 使用说明:比如要发起 GET 请求到 `/api/weather?city=北京`。
别人只要看这个页面,就立刻明白如何调用你的接口,还能直接在网页上尝试一下。
---
## 📌 小结一句话
Swagger 就是帮你自动写、自动更新接口说明书的软件工具,开发者有了它,可以更轻松、更高效地使用你的接口。