resMerge
将指定数据对象智能合并到响应体中,适合修改部分参数而不影响其余内容,支持以下响应类型:
- JSON(响应
content-type包含json关键字) - JSONP(响应
content-type为空或包含html/javascript关键字)
规则语法
txt
pattern resMerge://value [filters...]| 参数 | 描述 | 详细文档 |
|---|---|---|
| pattern | 匹配请求 URL 的表达式 | 匹配模式文档 |
| value | 操作数据对象,支持从以下渠道获取: • 目录/文件路径 • 远程 URL • 内联/内嵌/Values内容 | 操作指令文档 |
| filters | 可选过滤器,支持匹配: • 请求URL/方法/头部/内容 • 响应状态码/头部 | 过滤器文档 |
配置示例
内联方式
txt
www.example.com/path resMerge://test=123 file://({"name":"avenwu"})访问 https://www.example.com/path/to 浏览器收到的内容:
js
{"name":"avenwu","test":"123"}内嵌方式
txt
``` resMerge.json
a.b.c: 123
c\.d\.e: abc
```
www.example.com/path resMerge://{resMerge.json} file://({"name":"avenwu"})访问 https://www.example.com/path/to 浏览器收到的内容:
js
{"name":"avenwu","a":{"b":{"c":123}},"c.d.e":"abc"}本地/远程资源
txt
www.example.com/path1 resMerge:///User/xxx/test.json
www.example.com/path2 resMerge://https://www.xxx.com/xxx/params.json
# 通过编辑临时文件
www.example.com/path3 resMerge://temp/blank.json注意事项:响应大小限制
为了保障处理性能,resMerge 默认对响应内容大小有限制。
- 限制说明:自动合并处理仅适用于响应体小于 2MB 的请求。超过此大小的响应将被跳过。
- 如何覆盖:如果您确认需要处理更大的响应(例如下载文件或处理大数据接口),可以通过在匹配的规则中添加以下指令来显式启用:
txt
pattern enable://resMergeBigData
# 或
www.example.com/path1 resMerge:///User/xxx/test.json lineProps://enableBigData启用后,reqMerge 将尝试处理更大体积的响应,请注意这可能增加内存消耗和处理时间。
关联协议
- 在响应内容前注入内容(
Prepend To Body):resPrepend - 在响应内容前注入 HTML 内容(
Prepend HTML To Body,响应类型必须为text/html):htmlPrepend - 在响应内容前注入 CSS 内容(
Prepend CSS To Body,响应类型必须为text/html或text/css):cssPrepend - 在响应内容前注入 JS 内容(
Prepend JS To Body,响应类型必须为text/html、text/css或application/javascript):jsPrepend - 替换响应内容(
Replace Body):resBody - 用 HTML 内容替换响应内容(
Replace Body,响应类型必须为text/html):htmlBody - 用 CSS 内容替换响应内容(
Replace Body,响应类型必须为text/html或text/css):cssBody - 用 JS 内容替换响应内容(
Replace Body,响应类型必须为text/html、text/css或application/javascript):jsBody - 在响应内容后追加内容(
Append To Body):resAppend - 在响应内容后追加 HTML 内容(
Append HTML To Body,响应类型必须为text/html):htmlAppend - 在响应内容后追加 CSS 内容(
Append CSS To Body,响应类型必须为text/html或text/css):cssAppend - 在响应内容后追加 JS 内容(
Append JS To Body,响应类型必须为text/html、text/css或application/javascript):jsAppend - 使用关键字或正则表达式替换响应内容(
Modify Body Text):resReplace - 覆盖响应内容中的 JSON/Form 对象(
Modify Form/JSON):resMerge - 删除响应内容中的 JSON/Form 对象属性(
Delete Form/JSON):delete://resBody.xxx