经常会这样
后端:前端兄弟,帮忙看看 XXX 功能是用了哪个接口?
我:好的。稍等,是这个 xxx
后端:确定是这个?
我:。。。
虽然帮忙找个接口不难,但是会有点恶心的感觉?
1
5G 2020-01-06 09:34:41 +08:00
接口没有集中声明调用的地方?有的话直接扔给他就可以啊
|
3
chickenJuicer 2020-01-06 09:37:36 +08:00 5
你咋不问为啥前端老问后端: 兄嘚这个接口确定有这个字段? 确定吗? 万一没有呢? 啥类型啊?
|
4
robot1 2020-01-06 09:37:45 +08:00 2
刚接手的项目 没有文档 鬼知道界面上的数据来自哪个接口 不问就干坐一天吧
|
5
b821025551b 2020-01-06 09:38:13 +08:00 2
因为存在很多接口功能或者参数相近,有的时候 ABC 三个都差不多,挨个去排查还不如直接问前端;
还有的后端以为是用 A 接口,而前端用的是 B 接口 |
6
deleteDB 2020-01-06 09:39:09 +08:00 3
前端没有秘密 打开浏览器 F12 就是懒
|
7
yjm9898 2020-01-06 09:39:18 +08:00
996 真累,程序员真累
|
9
5G 2020-01-06 09:40:25 +08:00
@jrtzxh020 #2 有是有,你得告诉他啊,说不定他就一时没找到接口声明在哪呢,你扔给他这接口声明的位置了,他还会不明白你啥意思吗,那就没办法了
|
13
star7th 2020-01-06 09:43:56 +08:00
沟通中的扯皮是很烦人的。所以我建议用 showdoc 可管理 api 接口文档,什么功能对应一翻就知道。www.v2ex.com/t/634984#reply6
另外还可以教他怎么看网络请求。就是打开审查元素,切换到网络,这样子 balabala。这样他就慢慢懂得自己找,然后对文档。根本不需要烦前端。 |
14
mcfog 2020-01-06 09:43:57 +08:00 via Android
功能了(界面)到接口的映射就只有前端才有啊
假设你的后端同事休假了运维问你 YYY 功能写的数据表是哪个,你是能直接回答出来,选择看后端代码,还是小窗问他? 后端代码看下写那个表也不难 |
15
hakono 2020-01-06 09:44:19 +08:00 via Android
后端表示,在前段的 js 代码里找接口调用逻辑是多么痛苦的一件事,前段肯定无法理解
|
16
Vegetable 2020-01-06 09:45:59 +08:00 1
你告诉他怎么找好了
以我的经验来看,很多前端 debug 的水平还不如写爬虫出身的后端呢,我咋没说恶心的 |
17
nashxk 2020-01-06 09:46:35 +08:00 1
感觉挺正常的,有时候他们抓包啥的比较麻烦,就让前端来找。不过比较少碰到问后面那句“确定是这个”的
|
18
jrtzxh020 OP @mcfog 你这话不对,功能了(界面)到接口的映射就前后端都有。只是前端方便点和熟悉点而已。最简单直接的方法,不就是 F12 自己看一下?
|
19
liuzhaowei55 2020-01-06 09:49:09 +08:00 via Android
比如有一个接口已经出了两三个版本,现在想了解下最早的接口是否已经停用了,停用就可以不用再维护了。
|
21
fancy111 2020-01-06 09:51:26 +08:00
恶心,你们前后端的技术都有待加强。
|
22
mokeyjay 2020-01-06 09:53:32 +08:00
有些时候确实会出现这样的情况,看 js 逻辑看得心累,还不如直接开口问下前端
不过也不至于“经常”吧? |
23
dilu 2020-01-06 09:53:44 +08:00 1
首先,辛苦前端兄弟了。咱们互换一下身份将心比心一下,你是个新来的后端小萌新,接手一堆算不上好也算不上差的代码。后端基本是 MVC,不同模块之间没有什么依赖,你看到一个接口,这个接口上面啥都没写。光看代码又不知道是什么时候调用的。你现在要在这个接口里面做业务,但是你不知道它调用的场景是什么,于是你转身问一个来了好几年的老哥。老哥表示时间太久他也不记得了。你此时只能问两种人:对应的测试和前端,你总不能问产品或者运营吧?人家又不懂啥叫接口
总结:文档没做好,都是苦命人,就别互相抱怨了。 |
24
lihongjie0209 2020-01-06 09:57:20 +08:00 5
一个接口写好, N 个地方调用, UI 改版 N 次, 这时候你让后端看到一个页面提示接口错误然后定位这个页面使用的是哪个接口? 我觉得是正常现象
|
25
taxiaohaohhh 2020-01-06 09:57:46 +08:00
@mcfog 当然看代码啊,顺着接口找不就行了
|
26
mcfog 2020-01-06 09:58:40 +08:00 via Android
@jrtzxh020 那为了进入这个功能要做多少前置的操作?怎么确定测试的这一个场景就没有漏其他的逻辑其他的接口?
F12 对你来说很简单是没错,可是登服务器看日志连数据库看结构对后端来说一样很简单的,你会随便碰到个问题的时候就去登服务器扒日志吗?你不会那么干的原因和后端不会 F12 看接口而是来问你的原因是一样的 |
28
chendy 2020-01-06 10:00:25 +08:00
打开浏览器 /微信开发工具自己看,有时候想偷懒就直接问,也没啥大不了的
一般是有几个相似但是不同的接口,前端可能用错了接口要确认一下 |
31
taxiaohaohhh 2020-01-06 10:03:52 +08:00
前端这么简单的东西,没任何秘密可言的,直接看啊
一个人全写的没这种烦恼 |
32
mcfog 2020-01-06 10:05:56 +08:00 via Android
@jrtzxh020 这就对了,你随手看一下告诉他就是了,后端知道这个问题对你来说很简单所以才来问你的。这不就是基础的团队配合吗,比起自己花半个小时瞎摆弄最后也许还得不到答案 /得到错误答案,不如选择问相关同事几分钟就有肯定正确的结果
|
33
randyo 2020-01-06 10:06:29 +08:00 via Android
F12 的 network 里面没有?
|
34
nxf 2020-01-06 10:18:11 +08:00
这是一个普遍的现象,核心就是服务提供方和使用方的信息不对等。 想一下,当产品经理向你反馈有用户访问你开发的页面有问题时,你是不是要问,什么浏览器,那个版本,他是怎么操作的?
|
35
fengmumu 2020-01-06 10:21:59 +08:00
随手一搜,然后说一下这么难?
|
36
onfuns 2020-01-06 10:26:51 +08:00
@chickenJuicer 这个是小白才会问吧。如果一个公司连 api mock 平台都没有那这个公司是有多小?有了 api 平台都不扯皮,明明白白的写着呢。楼主说的这种情况如果是新来的同学还能理解,如果是原有开发者明显就是业务不熟练。
|
37
zhw2590582 2020-01-06 10:29:44 +08:00
虽然也经常被问,但前端搜一下也就一下子的功夫,这你也不耐烦了?
|
38
ReasonLee 2020-01-06 10:32:35 +08:00
举手之劳
|
39
f056917 2020-01-06 10:34:12 +08:00
前端不就是渲染数据吗?有啥难的?
后端不就是对数据库增删改查吗?顶多再写个接口,有啥难的? 相互不理解,说啥都没用 |
40
vultr 2020-01-06 10:51:14 +08:00
我怎么认为这样的沟通是相当高效并且友好的呢。就像前端也经常要求后端为了一个特别的需要提供专门的接口而不是调用多个接口来实现,我也认为是相当合理并且友好的。
|
41
bigmercu 2020-01-06 10:51:38 +08:00 4
有怨气直接跟他说,让他自己看或者教他怎么看,跟这来说恶心是想怎么地?让大家一起谴责这个“傻 X”后端吗?
|
42
Cihua 2020-01-06 10:54:11 +08:00
一般我自己就 F12 看了,多数需要前端帮忙的可能是不知道这里展示的是接口里的哪个字段,文档也没有...
另外一种情况可能是我这边有几个看起来已经失效的接口,需要前端帮忙确认这个接口是否还有哪里在调用... |
43
Muyiafan 2020-01-06 10:58:55 +08:00
前端就坐在我对面, 喊一声就回我了.
再说前端有时候为了自己方便叫我在一个接口里面多放几个字段. 反正只要改起来不是特别烦人的, 我顺手加了也就加了. 大家都是给同一个公司打工的, 和气生财. 何苦厌烦, 相互为难, 一起来吐槽吐槽公司不好吗 |
45
aa81425600 2020-01-06 11:04:28 +08:00
是真的记不住一周前做过了什么
|
46
Trient 2020-01-06 11:05:38 +08:00 8
1. 有意见当面说清楚,而不是背后吐槽,团队成员一定要沟通好,免得心里膈应,大家互相不爽有啥意思?
2. 我也是后端,一个人参与 5 个项目,项目间切来切去就算了,主要每个项目都是敏捷开发,迭代不知道多少次,最新的项目接口版本都 v13 了,有时候是真的忙,ide 开了 5 个切来切去,很希望测试或者前端能够提供更多的信息方便我来定位接口及问题,当然跟他们解释了以后,他们很乐意协助我; 3. 因此,每当我自己发现前端问题时,我也会非常详细的写清楚问题所在,复现步骤,各种截图给到前端,让他们别那么麻烦; 4. 团队合作就是大家各自麻烦点,让别人别那么麻烦; 5. 如果团队内有人抱有的不是 4.的思想,而是做好自己的事,别人的事一律不协助,那么肯定是不太好的; 6. 就写这么几点, 团队内沟通最重要,都是干活,反正我所呆的项目团队我和其他组员的感情都挺好的。 |
49
BarZu 2020-01-06 11:13:39 +08:00
我是直接教后端怎样打开前端页面自己找接口的,现在我们团队的后端都会用 F12 调试了
|
50
junbaor 2020-01-06 11:20:44 +08:00
这种情况一般都是引导后端抓包,除非页面不好进,比较难造数据的才会问前端。有时候也不好意思,搞到了前端代码库权限,自己扒拉着看。
|
51
mentalidade 2020-01-06 11:22:07 +08:00
前端改版 n 次,就算自己写的换了 UI 也不一定确定调用的还是自己写的,可能中间改版被重构,或者其他人找不到又重写一个。我一般找的测试给我找接口
|
52
672795574 2020-01-06 11:23:51 +08:00
我也经常这么干,开发小程序,是有个页面有问题,不着急、比较闲就自己抓包。
但经常有时候没有相关请求啊,一问,有的登录时候就全局变量,很多数据根据会员状态展示,要么有的是上一个页面列表数据带进来的等等。。 大部分时候直接问前端,这个页面的这个数据你哪个接口拿的,前端代码搜一下就 OK 了,很高效。 |
53
q8164305 2020-01-06 11:28:08 +08:00 via Android 1
所以我喜欢自己写前后端,没那么多扯皮的事
|
54
excitedXXX 2020-01-06 11:32:26 +08:00
开发何苦为难开发...........
|
55
fenglangjuxu 2020-01-06 11:44:58 +08:00
因为好多时候 后台不清楚前端长什么样子 没有测试机 有的时候没有测试数据 页面也出不来
|
56
pangleon 2020-01-06 11:47:28 +08:00
楼上一群人怎么像刚工作一样,这不就是没有文档的问题么
|
57
onhao 2020-01-06 11:54:17 +08:00
其实 后端还有一招 日志大法,所有前段的请求都会在日志里有记录。访问的接口,参数都一目了然。
|
60
mizzle 2020-01-06 12:07:48 +08:00 via Android
很正常啊,前后端分离,我有几个相似的基础接口前端 n 个地方调,我知道他哪个功能调的哪个?
|
61
qbmiller 2020-01-06 12:07:51 +08:00
1. 我有时候就会问;
十几个人开发, 忽然某个问题到你这了, 没法去 wiki 晒出来,直接问就可以了 2. 我们前端很少自己写测试数据, 都是后台写好数据, 直接掉; 相互合作, 少点套路, 都是混饭吃; |
62
songco 2020-01-06 12:16:00 +08:00
这个只能说要互相理解一下, 关键是 1. 问题描述要清晰 2.不要重复问同样的问题
我这边后台也经常遇到前端问问题, 比如我组里有人说前端老来问, 占用了太多时间, 经常搞了好久发现不是后台的问题. 现在我已经要求前端那边如果有问题找后台, 一定要说清楚, 哪个 API 出了问题(最好能用 swagger/postman 模拟), 而不是某个页面上的某个数据是错的这样的. |
63
tyrantZhao 2020-01-06 12:21:15 +08:00
有 wiki 看 wiki,没有的话,问的话又高效又便捷,况且 wiki 很多时候都对不上。。。。
|
64
ma836323493 2020-01-06 12:38:07 +08:00 via Android
问前端,10 几秒就能找到,你要让后端去开个代理找,那就要五分钟了
|
65
no1xsyzy 2020-01-06 12:40:25 +08:00
别人有问题来问你,不就是你的影响力吗?
如果所有人碰到某类问题都问你,你就是这类问题的专家 |
66
HonoSV 2020-01-06 12:50:27 +08:00
我们这文档都是后端整理的,接口调用也是后端自己查。反而是前端兄弟接手的项目多且杂,对这些一点都不熟悉。
|
67
fewok 2020-01-06 12:53:52 +08:00
日常黑后端系列。。。。
|
68
banliyaya 2020-01-06 13:00:10 +08:00 via iPhone
我觉得这是跟人有关的吧。第一如果是 web 的话按 f12 比谁都快,直接明了。第二,我有时候叫我司后端看下某个接口的问题,其中一个,我说的在接口平台上登记的某接口名字他自己一会就找到地方了,另外一个经常叫我把地址给他。
|
69
binux 2020-01-06 13:06:44 +08:00
遵循一些设计原则可以让你们少走一些弯路:
0、所有请求都要有单行 log 1、一个功能只有一个接口,相似功能用不同的参数区分 2、聚合接口可以让前端自己维护(聚合是指先读再写这样的,同时读两个对象不要聚合) 3、如果接口都是你们内部使用,所有接口向前兼容,不要搞 v13 这种东西。对外接口看客户水平。 4、至少有 postman 级别的文档 |
70
puilu 2020-01-06 13:13:14 +08:00
很正常 前端浏览器一看就有请求 比他们找代码方便。我们也经常问后端,理解一下
|
71
Youngxj 2020-01-06 13:16:58 +08:00
也不能说恶心吧,反向查看是最精准的
|
72
SjwNo1 2020-01-06 13:27:35 +08:00
嗯 你这样的前端是挺恶心的 劝善良 (举手之劳而已
|
75
Winnerxuan 2020-01-06 13:42:42 +08:00
打开 F12,靠自己最舒服
|
76
zhangalong69 2020-01-06 13:44:30 +08:00
只是一个沟通呗,有什么
|
77
lux182 2020-01-06 13:44:43 +08:00
后端一个接口可能面相很多资源查询,所以想看接口调用,一方面查询日志,一方面问前端调用。
有些时候找日志可能比较困难,还是问前端吧 |
78
xhxhx 2020-01-06 13:45:40 +08:00
假如要看一个不好找数据的表单接口?
|
79
rungit 2020-01-06 13:50:21 +08:00 via iPhone
后端兄弟找你前端兄弟看数据结构才恶心
|
80
splendone 2020-01-06 13:52:57 +08:00
看到标题有同感,好奇会有什么解决方案,我点进来看评论,没有寻找到好的办法。
有提到 API 文档工具的,这类工具是前端向后端要接口的时候比较好用,好像没有解决楼主所描述情况的痛点。 系统不断开发到了后期,后端开发人员不清楚自己写的接口用在哪些具体的前端模块 /功能点上。 对于 web 项目 F12 是可以,不过是整个页面的调用,没有对应到页面具体模块 /功能,而且移动端页面也不好调试找接口,F12 感觉也不尽人意,总会有好办法的感觉。 借楼再问:是否有什么工具能让后端开发者从界面模块 /功能直接查到后端接口调用情况? |
81
jrtzxh020 OP @SjwNo1 我觉得恶心,这是我个人的感受。我是怎么样的前端?我帮了,然后我还恶心了?你这道理 已 block 再见
|
82
jrtzxh020 OP 上面无论是骂的,劝善良的,讲道理的我都能理解。我就是提出这样一个问题,然后我觉得这个问题给我的感觉是有点恶心。可能这两只字有点重或者描述不好,让后端感觉满满的恶意。这里说声抱歉。这是我个人的感受,不针对后端~
|
83
kemikemian 2020-01-06 14:03:59 +08:00
本人后端程序,问这块无非就是小程序有 bug,不知道具体接口是哪个,就随口问了
|
84
pws22 2020-01-06 14:10:29 +08:00
哈哈哈,这种我也有时候会问,因为常常碰到有好几个接口都会返回一些相同的信息,这时候有时候并不能判断到底前端用了哪个接口,有时候修改相关需求的时候,或者新增需求的时候,怕改坏了,所以要确定下,当然你说 F12 也可以看呀,不是不能看,但是有时候很麻烦,就想我们原先的一个公众号的页面,公众号页面授权这块全部由后台来统一跳转的,各种重定向,这时候要看里面某个页面的接口调用的时候,去看接口的时候真的复杂,手机要抓包,当然这跟我们测试环境没弄的完善也有关系,这时候问下兄弟,你调用了哪几个接口不是更加方便么,就好比有时候前端兄弟问,你这接口咋访问不了,404 500,然后排查问题的时候发现写出了 https://https://.或者请求格式错了一样,我们后台碰到问这种问题首先是先去测试一下自己的接口有没有问题.
其实有时候沟通一下,能使工作更加高效 何乐不为呢. |
85
Mrun 2020-01-06 14:14:00 +08:00
前端界面的交互,后端如何知道你那个页面交互的情况下使用了这个接口。。。。
|
86
wuhongwei 2020-01-06 14:14:26 +08:00
|
87
lux182 2020-01-06 14:17:03 +08:00
有时候后端考虑的的确会比前端全面。开发方案是不是后端写,接口方案是不是后端写,如果一个接口的改动拿不定注意,是需要反复确认的。
|
88
daimubai 2020-01-06 14:18:53 +08:00
你要不想帮他找你就直说,弄完了又在网上发帖说别人恶心,唉,在工作中最怕遇到这种同事了,对于工作的各方面协调都不会太舒服
|
90
Tokin 2020-01-06 14:48:09 +08:00
作为一个前后端都写的码畜来解答一下
因为后端接口有些功能是相似的,我也经常去翻前端的代码(或者 F12 查请求)才确认这个地方用的具体哪个接口,我觉得直接问没什么不妥 |
91
mghio 2020-01-06 14:50:06 +08:00
我们项目组正好相反,前端经常问我们后端,那个什么功能用的是哪个接口。。。
|
92
ufan0 2020-01-06 14:52:02 +08:00
文档不写好,糟心糟到老。
|
93
tun 2020-01-06 14:53:47 +08:00
debug 时候可以快速定位
|
94
vitoliu 2020-01-06 15:02:16 +08:00
所以用 swagger 多好
|
95
lower 2020-01-06 15:30:58 +08:00
接口也不是万能的!
一个功能页面或者功能点,往往可能需要某几种接口的组合调用,一般接口注释就只是单一的一个接口的描述,光看接口说明也不靠谱。 |
96
dongeast52123 2020-01-06 15:32:50 +08:00 1
真不巧我就是此类型中的后端。说说客观存在的原因。
1 前端工程化和 node 化导致从页面上无法看到究竟调用了什么代码。大致的逻辑是页面->node->后端服务。所以那些说后端或者前端直接 F12 调试的在此场景下无用。 2 对别人的代码真的不熟。除非是自己开发的,否则不确定(不能说不知道)究竟调用了什么代码。 3 系统迭代和兼容,还有后端接口被泛用。所谓泛用,就是前端不知会后端,自行调用。 |
98
sethverlo 2020-01-06 15:45:13 +08:00
这不是一个 f12 的事儿吗……
|
99
jrtzxh020 OP @dongeast52123 node 化确实会造成更多这种问题。第 3 点倒是很少见
|
100
bulbzz 2020-01-06 16:11:43 +08:00
前端有包了一层 并且没有文档说明 对应后端什么接口 这才是最恶心的 一定要写文档
|