试图解决 “接口在我这里 ok, 为啥到你这就不行了!” 的对接问题

TLDR

NUAPI (www.nuapi.com) 的 域名转发可以辅助解决这类问题。

我们做了一个简单的视频, 可以让你快速了解我们是咋解决的 视频地址

如果你想试用一下 NUAPI www.nuapi.com , 可以用这个邀请码注册 FIRDOMAIN

另外NUAPI 也有个不错的 端口转发 的功能可以参考这篇帖子 [内网穿透调试] 使用 NUAPI, 0 安装, 5 秒钟拥有线上地址调试本地端口

正文

在我们软件开发的时候, 前后端经常遇到的问题是 后端自信的发布到测试环境后, 自己测试是没有任何问题的, 但是一旦到了前端测试的时候, 就遇到了各种各样的问题。

我这说几个常见的问题:

  • 经常遇到的前端传参数与预期不同的问题
  • 经常遇到的后端接口返回值与预期不同的问题

这些问题本质上来说解决起来比起技术角度,更多的都是所谓的“繁琐”。要找个大家都 ok 的时间, 把涉及到的人拉过来说明问题, 再等他们解决, 这是十分拖沓的。万一中途出了啥问题, 或者本身与某些人有过节,那简直是一场灾难。

其实我们转过头来想, 这些问题,是不是可以通过一些技术手段来解决?

我们最近研发了 www.nuapi.com , 这里面的功能"域名转发" 可以较好的解决这些问题:

NUAPI 的域名转发原理

传统上,我们的访问 如下图所示

传统访问流程

我们可以将 API 服务器 做一次 域名转发, 即 变为以下的访问流程

 NUAPI 域名转发访问流程

此时, nuapi 即可将访问的请求内容, 以及 API 服务器的返回接口, 均记录下来, 并且可以记录下来的请求的日志。

如何使用

首先在 NUAPI中新建域名转发, 假设我的后端域名地址是 https://api.github.com

则我可以在 NUAPI 中的新建域名转发中填写

https://api.github.com/

20220324171829

创建完毕后, NUAPI会返回代理域名

20220324171910

点击域名, 即可进入日志模式

20220324171949

我们会记录所有经过 nuapi 域名转发的所有请求, 以及请求后返回的body。这时, 如果我们想看看到底请求了什么内容, 则可以直接登录 nuapi.com 系统 进行查看。

NUAPI 查看请求的 body 以及 返回的 body

这里还有一篇文章可以供大家参考 抓包工具 Charles 与 Nuapi 对比, 替代 Charles

当然, 知道自己传了数据, 收到了什么数据, 可以推测出可能出现的问题在哪里, 那有没有更好的方式来解决“在我这里跑 ok, 为啥在你那不行”的方案呢?

有的, 就是我们的请求对比功能:

请求对比

经常出现这种问题: 后端用POSTMAN 访问测试环境, 一切 ok, 前端接入后, "请求跟 postman 一模一样,但是返回死活报错!“

此时我们可以用 NUAPI 的请求对比功能, 查询两者区别:

  1. 首先让后端用 POSTMAN, 将请求的 URL 的域名替换为 NUAPI 的转发域名,再次发送请求
  2. 让前端或者 app 端, 进行相关操作 引起对应的 请求
  3. 在 www.nuapi.com 中找到这两次请求, 之后点击 加入对比, nuapi 就会将两次请求的所有信息进行一一对比, 不同的内容我们就会立即显示出来

这样, 就可以轻易的看出, 这两个请求是否一样, 如果不一样, 是哪些内容部一样了 请求的对比

分享

当我们想把一条请求记录分享给其他人的时候, 只需要生成一个简单的链接即可, 不需要查看的人强制注册 NUAPI 用户, 仅拥有 URL 地址即可访问:

20220328005414

当使用分享链接打开地址的时候, 他会看到类似这样的界面, 此界面无需NUAPI 即可查看

20220328005641

这样, 你可以轻松的将你认为有问题的请求, 发送给你的前端或后端。 这个分享详细的描绘了整个请求: 从请求的时间, 到请求的header 参数, body 参数, 以及服务器返回的 header 和 body。

结束语

NUAPI 是一个致力于帮助开发人员解决在开发测试的时候遇到的各种问题(包括内网访问、数据对比, mock 请求)的工具, 希望通过我们的这个产品, 能够为大家的开发期间的沟通带来顺滑的体验。欢迎大家试用, 目前 NUAPI www.nuapi.com 处在试用阶段, 所有功能均为免费, 大家可以使用 邀请码 FIRDOMAIN 注试用

jc

继续阅读此作者的更多文章