thunder client是postman的轻量平替,支持在vs code中直接发送get/post请求、设置headers/body、查看响应,但不支持swagger文档渲染或openapi导入。

Thunder Client 适合轻量接口调试,但不支持 Swagger 文档渲染
它不是 Swagger 替代品,而是 Postman 的轻量平替:直接在 VS Code 里写 GET / POST 请求、设 headers、传 body、看响应,无需切窗口。安装后右键菜单就有 Send Request,快捷键是 Ctrl+Alt+R(Windows)或 Cmd+Alt+R(macOS)。适合日常改一个接口、验个字段、测个 token 是否生效——快、干净、无依赖。
但它读不了 swagger.json 或 openapi.yaml,也不会自动生成 UI 表单、折叠/展开接口分组、展示请求示例或模型定义。如果你手头只有 Swagger 文档链接或本地 YAML 文件,Thunder Client 帮不上忙。
- 不支持导入 OpenAPI 规范,无法自动补全参数或生成请求模板
- 没有“Try it out”式交互预览,所有参数得手动填
- 环境变量管理较弱,多套配置(dev/test/prod)切换不如 Swagger UI 直观
REST Client 是最接近“本地 Swagger 预览”的方案
它本身也不渲染 Swagger 页面,但能直接读取并执行 OpenAPI 文件里的请求片段。关键在于:你可以在一个 .http 文件里写标准 HTTP 语法,同时用 ### 分隔多个请求,并通过 @name 和 @host 注入变量——这让你能模拟 Swagger 中的“选择服务器 + 点击执行”流程。
更实用的是,它支持从 openapi.yaml 中提取请求定义(需配合插件 OpenAPI Generator 或手动复制),再粘贴成 .http 格式。常见写法如下:
GET https://api.example.com/v1/users
Content-Type: application/json
Authorization: Bearer {{token}}
###
其中 {{token}} 是环境变量,可存在 rest-client.environmentVariables 配置里。这样一套组合下来,比 Thunder Client 更贴近文档驱动开发(DDD)的节奏。
- 支持
.http文件内多请求组织,视觉上类似 Swagger 的接口列表 - 能高亮状态码、自动格式化 JSON 响应、保存历史记录
- 但依然不解析
components.schemas,不会渲染请求体 Schema 表单
真正实现 Swagger 预览,得靠 OpenAPI Viewer 插件
目前唯一能在 VS Code 里原生打开 swagger.json 或 openapi.yaml 并渲染成可交互页面的插件是 OpenAPI Viewer(作者:hbenl)。安装后,直接双击打开 OpenAPI 文件,右侧就会弹出带搜索、折叠、参数表单、Try it out 按钮的预览界面——和浏览器里访问 Swagger UI 几乎一致。
注意它不发请求,只做渲染;想发请求,仍要配合 REST Client 或 Thunder Client。但它解决了最痛的一点:不用切到浏览器、不用起本地 Swagger UI 服务、不依赖后端是否部署了 /swagger-ui.html。
- 支持 OpenAPI 3.0+,对
securitySchemes和examples渲染较准 - 不支持修改后热更新,改了 YAML 得手动刷新预览面板
- 若文档含远程引用(如
$ref: "https://..."),可能加载失败,建议先本地 resolve
别忽略本地 Swagger UI 的兜底价值
当项目自带 springdoc-openapi-ui 或 swagger-ui-dist 时,VS Code 里装个 Live Server 插件,把 dist 目录拖进去点 Go Live,就能获得完整功能的 Swagger UI。这比任何插件都可靠,尤其适合联调阶段验证鉴权、查看模型继承关系、下载 cURL 命令。
问题在于:它需要你有静态资源包,且端口可能冲突(Live Server 默认 5500,Swagger 常占 8080)。这时不如直接用浏览器访问 http://localhost:8080/swagger-ui.html——VS Code 插件再好,也替代不了一个运行中的、真实渲染的 UI 实例。
真正容易被忽略的点是:OpenAPI 文档的准确性比工具体验更重要。很多团队的 YAML 是手写的、没校验、字段缺失、example 错位。这时候再花时间挑插件,不如先跑一遍 swagger-cli validate 或接入 CI 检查。











