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

2022-03-28 15:28:21 +08:00
 atpking

TLDR

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

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

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

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

正文

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

我这说几个常见的问题:

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

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

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

NUAPI 的域名转发原理

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

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

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

如何使用

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

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

https://api.github.com/

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

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

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

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

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

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

请求对比

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

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

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

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

分享

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

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

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

结束语

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

NUAPI www.nuapi.com 的技术栈为 前端 Vue3.2 , 后端 Ruby on Rails + 少量 Node , 使用 K8S 部署在阿里云上。也欢迎大家交流技术实现部分的问题。

3787 次点击
所在节点    分享创造
22 条回复
atpking
2022-03-29 15:53:25 +08:00
@hoythan 是的 其实主要还是因为一般情况下我们都面临着 “产品急急急, 必须下周就上线” 的情况, 很多时候,甚至连 文档都没有,接口啥的几乎都是随便弄个文档写一写, 或者 im 中沟通一下就完

其实 nuapi 就是解决这些 时间不充分、技术配合较为麻烦的事情。
atpking
2022-03-30 13:30:30 +08:00
@hoythan

后端有时候就是懒的弄,或者压根不知道前端还能这么传, 用 curl 或者程序去构造一个测试环境太麻烦, 既然和前端对接, 不如就顺便让前端测一测。。。。。。

nuapi 的重发功能, 还是挺好用的, 可以 copy 之前的所有信息, 同时你还可以自己去改部分参数, 免去了再去 postman 去构造这个请求的麻烦



我们开发这个东西其实就是为了解决自己在开发中遇到的各种通痛点, 把枯燥乏味无聊的事情变的尽量简单点。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/843397

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX