(VUE + Rails 实现的)NUAPI (www.nuapi.com) 的 域名转发可以辅助解决这类“接口在我这里 ok,为啥到你这就不行了”问题。
我们做了一个简单的视频,可以让你快速了解我们是咋解决的 视频地址
如果你想试用一下 NUAPI www.nuapi.com ,可以用这个邀请码注册 RUBYDOMAIN
另外 NUAPI 也有个不错的 端口转发 的功能可以参考这篇帖子 [内网穿透调试] 使用 NUAPI,0 安装,5 秒钟拥有线上地址调试本地端口
在我们软件开发的时候,前后端经常遇到的问题是 后端自信的发布到测试环境后,自己测试是没有任何问题的,但是一旦到了前端测试的时候,就遇到了各种各样的问题。
我这说几个常见的问题:
这些问题本质上来说解决起来比起技术角度,更多的都是所谓的“繁琐”。要找个大家都 ok 的时间,把涉及到的人拉过来说明问题,再等他们解决,这是十分拖沓的。万一中途出了啥问题,或者本身与某些人有过节,那简直是一场灾难。
其实我们转过头来想,这些问题,是不是可以通过一些技术手段来解决?
我们最近研发了 www.nuapi.com ,这里面的功能"域名转发" 可以较好的解决这些问题:
传统上,我们的访问 如下图所示
我们可以将 API 服务器 做一次 域名转发,即 变为以下的访问流程
此时,nuapi 即可将访问的请求内容,以及 API 服务器的返回接口,均记录下来,并且可以记录下来的请求的日志。
首先在 NUAPI 中新建域名转发,假设我的后端域名地址是 https://api.github.com
则我可以在 NUAPI 中的新建域名转发中填写
创建完毕后,NUAPI 会返回代理域名
点击域名,即可进入日志模式
我们会记录所有经过 nuapi 域名转发的所有请求,以及请求后返回的 body。这时,如果我们想看看到底请求了什么内容,则可以直接登录 nuapi.com 系统 进行查看。
这里还有一篇文章可以供大家参考 抓包工具 Charles 与 Nuapi 对比,替代 Charles
当然,知道自己传了数据,收到了什么数据,可以推测出可能出现的问题在哪里,那有没有更好的方式来解决“在我这里跑 ok,为啥在你那不行”的方案呢?
有的,就是我们的请求对比功能:
经常出现这种问题:后端用 POSTMAN 访问测试环境,一切 ok,前端接入后, "请求跟 postman 一模一样,但是返回死活报错!“
此时我们可以用 NUAPI 的请求对比功能,查询两者区别:
这样,就可以轻易的看出,这两个请求是否一样,如果不一样,是哪些内容部一样了
当我们想把一条请求记录分享给其他人的时候,只需要生成一个简单的链接即可,不需要查看的人强制注册 NUAPI 用户,仅拥有 URL 地址即可访问:
当使用分享链接打开地址的时候,他会看到类似这样的界面,此界面无需 NUAPI 即可查看
这样,你可以轻松的将你认为有问题的请求,发送给你的前端或后端。这个分享详细的描绘了整个请求:从请求的时间,到请求的 header 参数,body 参数,以及服务器返回的 header 和 body。
NUAPI 是一个致力于帮助开发人员解决在开发测试的时候遇到的各种问题(包括内网访问、数据对比,mock 请求)的工具,希望通过我们的这个产品,能够为大家的开发期间的沟通带来顺滑的体验。欢迎大家试用,目前 NUAPI www.nuapi.com 处在试用阶段,所有功能均为免费,大家可以使用 邀请码 RUBYDOMAIN
注试用,有任何意见或建议可以在本贴留言,我将持续关注。
NUAPI www.nuapi.com 的技术栈为 前端 Vue3.2,后端 Ruby on Rails + 少量 Node,使用 K8S 部署在阿里云上。也欢迎大家交流技术实现部分的问题。