如何快速修改接口返回的数据和HTTP状态码?

6,059 阅读3分钟

我正在参加「掘金·启航计划」

概述

在之前的《如何使用代理快速调试线上代码》中,跟大家介绍了一部分调试线上代码的场景,今天这篇文章继续补充另外一个场景:“修改后端接口返回的数据或者HTTP状态码

事情是这样的:我们“WEB用户前端界面交互工程缔造专家”(简称:Web开发)时不时需要验证一些接口的边界情况,这时经常遇到的场景是:修改后端接口返回的数据或者HTTP状态码

方案零:Mock

一提到“修改后端接口返回的数据或者HTTP状态码”这个场景,我们第一时间想到的可能是 mock(对 mock 不是很了解的朋友可以先浏览一下:前端mock数据(超级详细))。

但有一说一,很多时候 mock 用起来并不顺手(没有贬低的意思,只是场景不同,求勿喷 ヘ(゚∀゚ヘ)アヒャ

比如:

  • 一些比较老的项目接口可能没有配 mock,
  • 一些线上的接口,只想快速修改一下值,快速查看一下。这种情况启用 mock 的话有点杀猪用牛刀的赶脚

所以,针对今天介绍的场景,mock 并不是 “最快” 的选择

方案一:Ajax Interceptor

对于快速“修改后端接口返回的数据”这个场景来说,谷歌插件:Ajax Interceptor 是目前在下觉得相对来说比较快的方法

下载地址

直接在谷歌应用商店搜素 “Ajax Interceptor” ,或者直接访问地址:Ajax Interceptor 均可获取

作者好像木有发布到火狐上,只在谷歌应用商店有找到

用法 & 演示

还是拿掘金首页来演示吧

如上图,这里显示的连续签到天数是 18 天,我们找到对应的数据接口以及其返回的数据是:

https://api.juejin.cn/growth_api/v1/get_counts

{"err_no":0,"err_msg":"success","data":{"cont_count":18,"sum_count":203}}

如上图,安装并启用 Ajax Interceptor 后就可以指定接口以及需要修改的数据内容,配置好后,直接刷新重新请求的接口就会全部换成在 Ajax Interceptor 配置的内容,确实贼方便

PS:平时调试的时候留意一下有木有启用 Ajax Interceptor,有一次就是忘了启用了 Ajax Interceptor,在查看数据的时候一直木有正确的内容,找了半天才发现是自己弄的假数据 ╥﹏╥...

方案二:whistle

Ajax Interceptor 好用是好用,但美中不足的是只能修改接口返回的数据,不能修改 HTTP状态码,对于修改HTTP状态码的场景,whistle就比较好用

还是拿上面掘金的这个接口举例: https://api.juejin.cn/growth_api/v1/get_counts

安装并启用 whistle 后,就可以如下图,修改响应的HTTP状态码

One more thing,关于“修改后端接口返回的数据或者HTTP状态码”的这个场景,大伙如果有更好、更快的方法,麻烦评论区留言一下哈 o( ̄▽ ̄)d