如何用vscode进行API测试与调试_集成REST Client的实战方法【教程】
发布时间 - 2026-01-28 00:00:00 点击率:次VS Code 通过 REST Client 扩展实现 API 测试:安装后新建 .http 文件,用 Ctrl+Alt+R 发送请求;支持请求头、JSON body、环境变量、响应变量提取等完整功能。
VS Code 本身不内置 API 测试功能,但通过 REST Client 扩展可直接在编辑器里发送 HTTP 请求、查看响应、管理环境变量——无需跳转 Postman 或命令行。
安装 REST Client 扩展并验证是否生效
打开 VS Code 扩展市场(Ctrl+Shift+X),搜索 REST Client,安装由 Huachao Mao 发布的官方扩展。安装后重启 VS Code(部分版本需重启才加载语法高亮)。新建一个文件,保存为 test.http 或 api.test.http,输入以下内容:
GET https://www./link/4d2fe2e8601f7a8018594d98f28706f2
光标停在该行,按 Ctrl+Alt+R(Windows/Linux)或 Cmd+Alt+R(Mac),若右下角弹出“Sending request…”并显示 JSON 响应,则扩展已正常工作。
常见问题:
- 快捷键无效?检查是否与其他扩展冲突(如 Vim 插件会劫持
Ctrl+Alt+R),可在keybindings.json中重映射为rest-client.request - 没有语法高亮?确认文件后缀是
.http或.rest,且未被其他语言模式覆盖(右下角点击语言模式,手动选HTTP)
编写带请求头、参数和 body 的 HTTP 请求
REST Client 支持完整 HTTP 协议要素,但格式严格:空行分隔 headers 与 body,headers 每行一个,body 可为 raw、JSON、form-data 等。
示例(POST JSON):
POST https://httpbin.org/post Content-Type: application/json{ "name": "Alice", "age": 30 }
注意点:
- 必须用空行分隔 headers 和 body;否则 body 被当作文本 header 处理,返回 400
- JSON body 不需要引号包裹整个对象,也不支持 JS 注释(
//或/* */会导致解析失败) - 查询参数可直接拼在 URL 后,如
GET https://www./link/4d2fe2e8601f7a8018594d98f28706f2?foo=bar&baz=qux(&是 HTML 实体,实际写&即可,VS Code 会自动转义)
用 @variables 和 environments 管理多环境配置
避免硬编码 URL 或 token,用变量 + 环境切换实现测试/预发/生产一键切换。
在文件顶部定义变量块:
@host = https://www./link/710ba53b0d353329706ee1bedf4b9b39 @token = eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...GET {{host}}/users Authorization: Bearer {{token}}
更进一步,使用环境(environments):
### Environment: dev @host = https://dev-api.example.com @token = dev-token-123Environment: prod
@host = https://www./link/710ba53b0d353329706ee1bedf4b9b39 @token = prod-token-456
Get user list
GET {{host}}/users Authorization: Bearer {{token}}
点击右下角环境名称(默认 No Environment),选择 dev 或 prod,后续所有 {{host}} 和 {{token}} 将自动替换为对应值。
关键细节:
- 环境块之间必须用空行分隔,且每个环境块以
### Environment: xxx开头 - 变量名不能含空格或特殊字符,仅限字母、数字、下划线
- 环境变量只在当前文件内生效;跨文件复用需用
# @include引入公共变量文件(需启用rest-client.enableFileVariables设置)
调试响应与链式请求(response variables)
从上一个响应中提取字段(如 token、ID),用于下一个请求——这是调试真实业务流的关键能力。
示例(登录后获取用户信息):
### Login POST https://httpbin.org/post Content-Type: application/json{ "username": "test", "password": "123" }
{% client.global.set("auth_token", response.body.json().token); %}
Get profile
GET https://www./link/4d2fe2e8601f7a8018594d98f28706f2 Authorization: Bearer {{auth_token}}
说明:
-
> {% ... %}是响应脚本块,运行在 Node.js 环境中,response.body.json()解析响应体为对象 -
client.global.set()写入全局变量,跨请求可用;也可用client.environment.set()写入当前环境变量 - 脚本中不能使用
console.log,错误会显示在输出面板(View → Output → REST Client) - 若响应非 JSON,用
response.body.toString()或正则提取,例如response.body.match(/"id":(\d+)/)[1]
真正难的是响应结构不稳定时的容错处理——比如字段可能不存在、嵌套层级变化、或返回 HTML 错误页而非 JSON。建议在脚本中加 if (response.body && response.headers['content-type']?.includes('json')) 判断,否则直接 return 避免 Cannot read proper 报错。
# linux
# word
# vscode
# html
# js
# node.js
# json
# node
# windows
# 编码
# app
# postman
# if
# include
# Token
# 全局变量
# Property
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
中国移动官方网站首页入口 中国移动官网网页登录
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
详解Oracle修改字段类型方法总结
如何用虚拟主机快速搭建网站?详细步骤解析
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
制作企业网站建设方案,怎样建设一个公司网站?
Python文件流缓冲机制_IO性能解析【教程】
如何用JavaScript实现文本编辑器_光标和选区怎么处理
如何在腾讯云服务器上快速搭建个人网站?
如何制作一个表白网站视频,关于勇敢表白的小标题?
如何实现javascript表单验证_正则表达式有哪些实用技巧
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
在Oracle关闭情况下如何修改spfile的参数
成都网站制作公司哪家好,四川省职工服务网是做什么用?
Laravel如何处理和验证JSON类型的数据库字段
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
长沙做网站要多少钱,长沙国安网络怎么样?
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
如何快速生成橙子建站落地页链接?
如何在橙子建站中快速调整背景颜色?
微信公众帐号开发教程之图文消息全攻略
南京网站制作费用,南京远驱官方网站?
Java遍历集合的三种方式
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
动图在线制作网站有哪些,滑动动图图集怎么做?
Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道
Android Socket接口实现即时通讯实例代码
在线教育网站制作平台,山西立德教育官网?
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
,网页ppt怎么弄成自己的ppt?
如何在景安服务器上快速搭建个人网站?
Laravel如何处理文件下载请求?(Response示例)
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】
Mybatis 中的insertOrUpdate操作
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
在centOS 7安装mysql 5.7的详细教程
如何在阿里云完成域名注册与建站?
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
如何生成腾讯云建站专用兑换码?
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
Swift中循环语句中的转移语句 break 和 continue
详解Android中Activity的四大启动模式实验简述
如何在万网利用已有域名快速建站?
使用豆包 AI 辅助进行简单网页 HTML 结构设计
如何在IIS服务器上快速部署高效网站?

