调试HTTP调试
函数系统
在 HTTP 调试中使用函数处理参数与响应。
HTTP 调试支持调用内置函数和自定义函数,用于生成测试数据、格式化参数、提取响应字段等,减少重复手工操作。
使用函数
函数通过 {{函数名}} 或 {{函数名(参数)}} 的方式引用。发送 HTTP 请求时,Cool Request 会在请求发起前解析这些表达式,并将函数执行结果替换到对应位置。
例如,使用 date 函数生成当前日期:
{{date}}如果在请求参数中这样填写:
createTime={{date}}请求发送前会先执行 date 函数,再把执行结果作为 createTime 的值。
提示
函数表达式需要使用双大括号包裹,例如 {{date}}。函数名需要与内置函数或自定义函数名称一致。
支持的位置
函数可用于 HTTP 调试中需要动态生成内容的位置,例如:
- URL 查询参数。
- Path 参数。
- Header 值。
- Cookie 值。
- Body 内容,例如 JSON、Form、Form-data、Raw Body。
- 环境变量或其他可被请求参数引用的位置。
JSON Body 示例:
{
"name": "test-user",
"createdAt": "{{date}}",
"traceId": "{{uuid}}"
}Header 示例:
X-Request-Time: {{date}}
X-Trace-Id: {{uuid}}函数参数
函数支持传入基本类型参数。带参数的函数使用 {{函数名(参数)}} 的格式,例如:
{{subString(3)}}上面的写法会调用 subString 函数,并把 3 作为参数传入。
基本类型参数
函数参数支持常见基本类型和字符串类型:
- 整数,例如
{{subString(3)}}。 - 小数,例如
{{amount(12.5)}}。 - 布尔值,例如
{{enabled(true)}}。 - 字符串,例如
{{prefix("user")}}。
多个参数使用英文逗号分隔:
{{subString("abcdef", 1, 3)}}字符串参数建议使用英文双引号包裹,避免与数字、布尔值或函数名混淆。
{{concat("user", 10001)}}注意
函数参数中的括号、逗号和引号需要使用英文符号。中文符号可能导致函数解析失败。
自定义函数
用户可在 CoolRequest设置 -> Function 中使用 Java 语言编写自定义函数。
自定义函数保存后,即可在 HTTP 请求中通过 {{函数名}} 方式引用。如果函数定义了参数,也可以通过 {{函数名(参数)}} 的方式传入。
例如定义一个 subString 函数后,可在请求参数中这样使用:
{{subString(3)}}也可以把函数和普通文本组合使用:
user-{{subString(3)}}-{{date}}请求发送前会依次解析表达式,并把每个函数表达式替换为对应返回值。
使用示例
查询参数
/api/order/list?page=1&pageSize=20&date={{date}}Header
Authorization: Bearer {{token}}JSON Body
{
"userId": "{{subString(3)}}",
"requestTime": "{{date}}",
"mock": true
}Form 参数
name={{prefix("test")}}
age={{randomInt(18, 60)}}调试建议
- 对每次请求都不同的数据,例如日期、随机数、Trace ID,优先使用函数生成。
- 对多个接口重复使用的规则,例如 token、签名、字符串截取,建议封装为自定义函数。
- 函数名尽量保持清晰,避免与已有内置函数重名。
- 当函数解析结果不符合预期时,先检查函数名、参数数量、参数类型和英文符号。