API Debugging New Tricks
断点总误伤一片?从一条真实请求勾出精确 Mock
联调时最常见的断点用法,是在 Charles、Fiddler 或 Whistle 里写一条 Host / Path 规则,然后打开断点。
规则一开,订单详情、列表轮询、埋点、重试会一起停住。你改第一条的时候,后面几条已经超时,页面也卡住了。条件要写细,还得自己填 Host、Path、Query。接口如果加密,表单里看到的是密文,不知道该匹配哪一段。
DevPeek 把这件事收成向导:对抓到的那条请求右键「Mock」,勾已经拆开的字段,保存成一条规则。本文按这个路径走一遍:精确命中、换返回、把一组边界收成场景。
适用读者
- 用过抓包代理的断点,被「一开就停下一片」耽误过
- 已能在 DevPeek 里看到 HTTPS 明文;还没抓到包的话,先看 零基础上手:安装 DevPeek 并抓到第一个包
- 接口参数加密的,建议先读 H5 接口参数加密?DevPeek 一键解密调试,配好 参数转换 再做下面的明文勾选
容易卡住的地方
- 断点打在 Host 或 Path 前缀上,同域的轮询和静态请求都会进暂停队列。
- 匹配值手写,和线上多一个空格、少一个字段就永不命中。
- 加密 Body 整段当条件,换一个订单号就失效;按明文里的
orderId勾,才能只断这一单。 - 规则保存后会一直生效。勾得很细,也只是「这类请求」都停,不是「只停下一次」。测完把规则或场景关掉。
步骤一:先抓到要断的那条
把客户端代理到 DevPeek,打开要测的页面,在 抓包列表 里点开目标请求,确认 Method、Path、Query 和 Body 就是这次操作发出的那份。
列表里若是密文,先确认参数转换已命中,详情里能看到解密后的明文。向导里的勾选用的就是这份明文。
完成标准: 列表里能点开一条完整的目标请求;加密接口在详情中能看到可读字段。
步骤二:向导里勾匹配条件
在这条请求上右键「Mock」。第一步标题是「拾取条件」。
界面把这次请求拆成 Method、Host、Path、Query、Body、请求头。要多细就勾多细,值来自这条请求,不用手写规则。加密字段会先解密:JSON 可以展开,勾到 orderId 这种子字段,密文本身不用当条件。
常见勾法:
- 只想挡住这一个接口:Method + Path。
- 同一接口要按订单区分:再勾 Query 或 Body 里的那一个字段。
- 要排除别的客户端:再勾一个能区分环境的请求头。
勾得越少,后面误伤越多。同一 Path 的轮询如果 Body 不同,就把那个不同字段勾上。
完成标准: 预览里能看到你勾中的字段和取值,且没有把整站 Host 当成唯一条件。
步骤三:选手动暂停,还是自动返回
第二步是「编辑返回」,二选一。
手动 Mock 勾请求、响应,或两段都要。之后命中这条规则的请求会暂停,弹出篡改窗口;改完点「继续」或「中止」。适合临时改一个字段看页面反应。
自动 Mock 只选请求或响应其中一段,并写好当前版本的篡改内容。命中后按这份内容放行。只 Mock 响应时,可以直接返回你写的状态码和 Body,不必打到真实服务器。适合固定的 404、空列表、错误 JSON。
手动 Mock 的改包发生在命中之后;自动 Mock 的返回要在这一步写好。
完成标准: 保存成功。再触发一次相同操作,手动规则会弹出篡改窗口,自动规则会按你写的内容返回。
步骤四:同一条规则存几套返回
一条规则可以有多份篡改版本,例如「正常」「空列表」「500」。同一时刻只有标成生效的那一版参与 Mock,其余只是备着。
右侧 Mock 面板里展开这条规则,点另一版即可切换,不用另写一条规则,也不用重填匹配条件。它不会按第几次请求自己轮换,要换边界就点那一版。
完成标准: 同一条规则下至少两版;切换生效版本后,下一次命中的返回跟着变。
步骤五:把相关规则收成一个场景
一个边界往往牵着好几条接口。比如「库存不足」要同时改创建订单和支付状态,就做成两条规则,放进同一个场景。
场景是分组,用来整组启停。场景开关是总闸,不改每条规则自己的勾选;条目仍要单独勾上才会生效。多个场景可以同时开着。
匹配不看场景在树上的上下位置。已启用的规则按配置列表从末尾往前找,后写的优先,命中第一条就停。两条规则都可能套住同一次请求时,把更具体的那条留在后面。
完成标准: 场景总闸打开时,组内已勾选的规则会命中;关掉总闸后,这组不再拦截,单条规则的勾选还在。
测完记得关掉
规则和场景会一直留在配置里。精确勾选减少的是「不像的请求被停住」;长得一样的后续请求,包括轮询和重试,仍会再命中。
看完这次结果,关掉这条规则或整个场景,再刷新页面,确认请求已经回到源站。
下一步
匹配条件、手动 / 自动 Mock、篡改版本的字段说明见 Mock 规则。加密接口要先能在详情里看到明文,配置见 参数转换。
下一篇
这是「接口调试新姿势」系列当前最后一篇。你可以继续查看 博客列表,或回到 Mock 规则 对照向导里的每一项。
如果你也在断点里一遍遍手写 URL,欢迎 下载 DevPeek 对一条真实请求走一遍向导;规则怎么配见 Mock 规则。遇到对不上的加密字段,可以到 GitHub Discussions 贴一条脱敏请求。