关于前后端接口联调的问题讨论

2024 年 2 月 23 日
 zy0829

技术经理提出了一个要求: 后端提前设计好 api 文档,前端按照文档 mock 开发,然后也不需要联调这个过程。

我在想这样真的就不需要联调了吗?往往身边的同事连个文档都不会看,让前后端按照文档开发真的可行吗?这样会不会更繁琐

8032 次点击
所在节点    程序员
92 条回复
yufeng0681
2024 年 2 月 23 日
你也不要过分解读项目经理说的: 不需要联调就能通。
这个就是理论上最完美的情况。把接口定义清晰透彻,剩下的都是自己分内黑盒的事情。
只是能不能把接口文档做到 100 分,这个要靠大家努力, 如果能力不足,那就只能在联调时发现问题,成本也会高起来。
如果你们公司前端,后端都没这样的经验,那开发前就要做好培训,赋能。 不然这个就是个样子货,落地失败,或者说要做几次项目迭代,大家才能掌握,顺利开展项目工作。
sampeng
2024 年 2 月 23 日
换句话说。。联调其实应该是份内的事,而不是项目开发周期中一个明确的时间点。。
woscaizi
2024 年 2 月 23 日
我猜测你们现在是前端等后端开发完毕后才开始写代码;
而你技术经理的意思是两边按照文档同时开发,最后咔嚓一对接。
yor1g
2024 年 2 月 23 日
前后端本来就是要 mock 做单体测试的吧 文档设计够详细基本没问题
qping
2024 年 2 月 23 日
@zy0829 #17 我觉得你说的有道理
dongzhuo777
2024 年 2 月 23 日
看需求啊。有些需求本身就原来的 API 上面加个字段 那还联调个鬼。或者就是一个表单查询。但是涉及到一些业务交互的肯定是要联调的,比如一个业务操作本身设计到 5 、6 个接口的调用 纯 mock 你有 mock 数据的功夫代码都写完了。
yc8332
2024 年 2 月 23 日
前面是对的。不要联调,那估计是神仙吧,复杂一点的功能不联调怎么可能,而且开发当中肯定也是要加字段啥的,不太可能已开始定的就完全够用了
visper
2024 年 2 月 23 日
这样做主要目的是开发的时候减少两边沟通两边互等的时间。大家都开发完了肯定得拿起来综合测试下,这里就算是联调了吧。
Techcj
2024 年 2 月 23 日
他能把所有报错情况,文档模拟出来吗,什么字段类型错了,空了,少了字段多了字段
breadykidliu
2024 年 2 月 23 日
不可能的,可以参考调用三方接口为例,即使接口文档完善,调用方也需要实际数据看不同场景的效果来做调整,纯 mock 数据开发实际测试肯定会有问题
error451
2024 年 2 月 23 日
如果前后端都对对方的工作很熟悉的话,这么做会非常顺利。

否则就会无限扯皮,尤其是前端完全没做过后端项目,后端完全没做过前端项目。

其实这个事情关键要看是谁来干活,理论上技术经理应该是前端,后端都是熟手, 然后由他来把控方向做大量的工作,比如写 API 文档和 mock ,前端只需要调 Mock 接口做渲染,后端只需要按照 API 文档提供数据,那么基本上这么干就没啥问题。

如果技术经理仅仅是给你们说,然后活都让你们自己干, 那么必然成不了
shaozelin030405
2024 年 2 月 23 日
这样没问题,但是一定要联调
leqoqo
2024 年 2 月 23 日
有段时间后端全靠 swagger, 接口字段什么时候变了不知道,一到最后阶段,哪哪都是坑
z1154505909
2024 年 2 月 23 日
前提是需求所有细节完全确定,且不会变更,不然,呵呵呵哒
deno2h
2024 年 2 月 23 日
按照文档 mock 开发没有问题,前提是文档必须要前后端达成一致
xingdaorong
2024 年 2 月 23 日
@xianyv 业务简单的,比如表格返回字段什么性别等,这一般加个注释就好了,就怕业务复杂,传递的参数嵌套层数多等,前端需要什么样的字段等,都需要交流来设计
IamUNICODE
2024 年 2 月 23 日
如果两边能对上,直接后端写接口,前端调页面,最后联调,这样搞更省时间;
但是两边时间脱节的话就先出文档,前端模拟一下;
我还是更倾向于前者。
xianyv
2024 年 2 月 23 日
@xingdaorong 我现在都不跟我的前端交流了, 我是接口返回什么他用什么,除非少了字段, 和我合作的前端开会都不带听业务逻辑的, 就是照着设计图还原一下,页面逻辑一概不写. 就等测试出来,才出业务逻辑.
MaxJin
2024 年 2 月 23 日
好是好,问题是就怕后台更新了接口还不和前端说,然后甩锅是一绝。
yangblink
2024 年 2 月 23 日
swagger openapi

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

https://v2ex.ih06.com/t/1017771

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

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

© 2021 V2EX