Reqable 中文文档 下载 App

重写规则实战:重定向接口、改请求参数、改响应状态

理论模式清楚了,这篇用三个典型例子把重写用起来。

例一:重定向到另一个地址

把发往 hello.com 的请求转到 world.com 拿结果,类似 Map Remote 但更细粒度。创建重定向规则时填写原 URL 与新 URL,支持通配符:

原请求:

https://hello.com/foo/bar/ok?abc=123

重定向规则设为:

https://world.com/new/*

实际请求会变成:

https://world.com/new/foo/bar/ok?abc=123
重定向规则编辑
重定向编辑

三个注意点:

另外,如果原请求的服务器地址无法响应,会直接导致请求失败(不会发起重定向请求)。

例二:正则修改请求参数

想改请求参数里 key 的值但保留其他参数。比如:

https://reqable.com?key=12345&foo=bar&hello=world

固定值替换:创建一个 key 的匹配替换规则即可。

修改参数值
改参数

值未知时:用正则表达式匹配任意值再替换。

带分组引用:想在原值基础上加前缀 api-,用正则加 $ 分组替换实现。

一个请求可以叠加多个修改规则,在列表里统一管理:

多个修改规则列表
修改规则列表

限制:修改模式不支持改请求方法和请求路径;不要手改 Content-Length 头,它会被自动重算。

例三:整体替换响应(Mock 固定返回)

用「替换响应」行为,把响应状态、响应头、响应体整体换成预设内容。响应体支持空、文本和本地文件三种类型——本地文件方式配合 Map Local 思路,可以把大段 JSON 放在文件里维护。

替换响应状态
替换响应

替换请求同理,支持替换请求方法、路径、头和体;从调试列表右键创建时数据自动填充。

怎么验证规则生效

规则启用后,重新触发目标请求,在调试列表里查看该请求的详情——被替换或修改的内容会直接体现在请求/响应数据里。规则不生效时依次检查:规则开关是否打开、URL 匹配模式是否写对、规则在列表中的顺序是否被前面的规则抢先命中。

批量 Mock 多接口的场景还可以结合 镜像与网关;需要动态逻辑就走 Python 脚本。