V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
donggua997
V2EX  ›  程序员

有没有前后端联调的高效解决办法

  •  1
     
  •   donggua997 · 271 天前 · 3477 次点击
    这是一个创建于 271 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如,需求是:可配置开发环境页面接口代理到后端同学本地。
    有没有好的解决方案,
    或者此类问题有没有不错的方案
    33 条回复    2023-07-31 23:08:50 +08:00
    lisongeee
        1
    lisongeee  
       271 天前   ❤️ 20
    前后端都是一个人
    linauror
        2
    linauror  
       271 天前   ❤️ 1
    定义接口结构 -> 导出 swagger -> 生成 mock 接口 -> 前端调用 mock 接口,用 yapi 这样用过,用着还不错
    bitmin
        3
    bitmin  
       271 天前
    我是让前端增加了切换接口请求 host 的按钮,可以切换到本地或者线上
    donggua997
        4
    donggua997  
    OP
       271 天前
    @bitmin 这个按钮做在哪里了
    donggua997
        5
    donggua997  
    OP
       271 天前
    我意思是不光联调 ,而且排查 bug ,或者梳理逻辑 ,如果调用本地 debug 不是方便很多吗
    estk
        6
    estk  
       271 天前 via iPhone
    tRPC
    xubeiyan
        7
    xubeiyan  
       271 天前 via Android
    前端打 dev 包时是到后端 api ,打 prod 是到生产环境。不过这都太麻烦,直接后端 push 代码触发构建,直接发布到测试机上,前端连测试机 api 就行了
    yule111222
        8
    yule111222  
       271 天前
    1.让接口适配前端,后端自己对代码分层。核心业务与外部适配层分离,这样接口可以完全契合 UX 设计来做。
    2.文档提前生成好,前端一看就懂,用 yapi 之类的 mock 接口用用就可以开发
    3. 后端做好自测,最好是 TDD 自动化测试,保证交付质量,这样才连调得快

    我本人开发体验来看,接口交付后不太需要连体调,至少前端很少找我沟通
    brader
        9
    brader  
       271 天前
    我不建议你这样搞,你们一定要有一个专业的测试环境,即使连到你本机,也是专门搭建一个版本发布固化的测试环境,而不是让他直连你编写中的开发代码,只会害他们、坑他们,我也是一个后端来的,我们不能自私的只图自己方便。测试环境你要觉得手动发布麻烦,你可以弄成代码推送就自动发布的
    AreYou0k
        10
    AreYou0k  
       271 天前
    const baseURL = process.env.NODE_ENV !== 'production' ? localStorage.getItem('baseURL') : 'xxx 你的地址'
    这样的吗? 在 localStorage 加你要的接口地址, 哪个环境或者本地都行
    xudaxian520bsz
        11
    xudaxian520bsz  
       271 天前
    IDEA ( apipost 插件) --> 一键导入 --> APIPost 平台(单元测试) --> 到处 json 文件 --> 导入到 RunnerGo (性能测试、场景测试(支持接口的调用链)) --> 将场景测试扔给前端
    GiantHard
        12
    GiantHard  
       271 天前
    准备一个测试环境,前后端写好了代码就往测试部署,这样两边谁也不耽搁谁
    bitmin
        13
    bitmin  
       271 天前
    @donggua997 看你自己的页面结构啊,如果是后台,正常右上角点击会展开一列按钮,app 可以写在设置页面里

    因为有按钮权限,所以也只有开发自己看得到

    #9 你场景搞错了,这样做不是方便前端让前端用,是方便后端,不需要前端专门发布一个接口走 localhost 的版本
    bitmin
        14
    bitmin  
       271 天前
    #12 前后端都有部署到线上,但现在说的是本地调试的场景吧
    binge921
        15
    binge921  
       271 天前
    我比较赞同一楼的说法
    zjsxwc
        16
    zjsxwc  
       271 天前
    我以前接私活弄过一个类似的需求,
    前端 spa 单页应用本地开发,但接口调用后端开发环境的电脑,

    https://github.com/zjsxwc/golang-reverse-proxy-dev

    如果后端与前端不在同一个局域网,需要后端开个 frp 能外网穿透,让前端能外网访问后端接口。
    zhenly
        17
    zhenly  
       271 天前
    前端开发连相对稳定的测试环境后端

    后端调试也是用相对稳定的测试环境前端,用 whistle 将 api 接口代理到本地服务
    thinkershare
        18
    thinkershare  
       271 天前
    将整套流程自动化,交给机器,不要手动测试。端到端测试尽量避免。
    linzhe141
        19
    linzhe141  
       271 天前
    一个人写
    xiangyuecn
        20
    xiangyuecn  
       271 天前
    nginx
    laoyutang
        21
    laoyutang  
       271 天前 via Android
    你是局域网不就好了,后端起个服务,你不是随便连
    yangjirun
        22
    yangjirun  
       271 天前
    我对接的后端只有接口,没有文档,字段全靠猜
    LandCruiser
        23
    LandCruiser  
       271 天前
    太简单了,部署一个测试环境不就行了?你想代理到哪个地址,改下 nginx.conf 就行了。也可以前端本地启动直接连后端开发本地启动的服务
    8355
        24
    8355  
       271 天前
    内网 gitlab+jenkins 是吧
    你需要搜索 gitlab hook jenkins
    wxyrrcj
        25
    wxyrrcj  
       271 天前
    自己写 全干工程师
    zerodli
        26
    zerodli  
       271 天前
    apifox 比较好用,可以定义传入和接收数据格式,字段备注等等,做接口文档挺好
    bugmakerxs
        27
    bugmakerxs  
       271 天前
    联调就是联调,有问题前端给你请求参数,你自己跑单测就好了。
    hotsymbol
        28
    hotsymbol  
       271 天前
    @estk 这玩意不不开源
    christin
        29
    christin  
       271 天前 via iPhone
    可以前端本地连测试环境,后端有改动就发布到测试环境,至少有一端和本地分离。如果两端全都本地,那有一个人不启动项目就开发不了了
    NICE20991231
        30
    NICE20991231  
       270 天前
    难道是想在测试环境直接请求本地,方便后端调试?
    这种很简单,只要不是生产环境,就在页面显示一个悬浮的按钮,点击切换到本地请求链接...
    Elilili
        31
    Elilili  
       270 天前
    流量染色
    pengtdyd
        32
    pengtdyd  
       270 天前
    1 楼的这个回答带来了一些启示。会不会以后国内前后端又合并了,企业更倾向于招聘即会后端也会前端的人,这样会极大的节约了人力成本,而且还只用发一份工资。
    jones2000
        33
    jones2000  
       270 天前
    现在不都是前后端分离独立开, 根据设计文档和接口数据格式,2 边同步开发。都不需要怎么联调。后台测试部门对每个接口写自动化测试用例,调试直接跑测试用例就可以调试了,根本不需要前端。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2945 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 09:09 · PVG 17:09 · LAX 02:09 · JFK 05:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.