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

如何优雅的 Rename 后台接口字段,供前端项目使用

  •  1
     
  •   jerrry · 2018-12-04 13:40:31 +08:00 · 2103 次点击
    这是一个创建于 2192 天前的主题,其中的信息可能已经有所发展或是发生改变。

    由于历史原因,后台接口风格不统一,英文、拼音、下划线、全大写、全小写、驼峰 什么风格的都有,如果前端为每一个接口维护一个 Mapping 感觉也不太优雅。

    8 条回复    2018-12-08 19:16:26 +08:00
    TommyLemon
        1
    TommyLemon  
       2018-12-04 15:30:16 +08:00
    业务多种多样,各种字段本来就不统一,几乎没法抽象,最多配置一个规则表,就是你说的 Map<原字段,替换字段>,
    但是同一个名称的字段在不同接口里的意义很可能不一样,又得根据接口(Map<URL, Map<原字段,替换字段>>)或者模型来区分(Map<ModelName, Map<原字段,替换字段>>)

    所以这个在前端做是代价高收益小,本来就是后端的问题,应该让后端解决。
    要么后端自己改过来,要么用更好的工具,例如 APIJSON。
    为什么要用 APIJSON ?前后端 10 大痛点解析 里面第 2 点:各种奇葩的缩写、混乱的命名
    github.com/TommyLemon/APIJSON/wiki/
    corningsun
        2
    corningsun  
       2018-12-04 18:24:17 +08:00
    啥都别动,喝喝茶就行了。

    如果真要动,直接写新的接口,原来的接口千万要留着。
    jerrry
        3
    jerrry  
    OP
       2018-12-05 08:08:10 +08:00
    @TommyLemon @corningsun 接口改是不可能改了,其他老系统也都有调用。但是直接在前端项目用这些字段感觉像吃苍蝇一样,所以想看下有没有优雅的前端用的 mapping 工具。
    reus
        4
    reus  
       2018-12-05 10:26:24 +08:00
    不要动,谁动谁傻逼
    TommyLemon
        5
    TommyLemon  
       2018-12-05 10:43:52 +08:00
    @jerrry
    除非领导明确表示能承担重构的风险,否则原来的代码就不要改了,
    稳定第一,难看但能很好地工作的代码 好过 优雅但有重大问题的代码。
    后面写的接口可以规范起来。
    jerrry
        6
    jerrry  
    OP
       2018-12-06 19:23:47 +08:00 via Android
    @TommyLemon 打算搭一层 node 转换,可行吗
    TommyLemon
        7
    TommyLemon  
       2018-12-06 22:01:45 +08:00
    @jerrry 还是得像上面说的那样做,只不过从 Client/Browser 转移到了 Server
    jerrry
        8
    jerrry  
    OP
       2018-12-08 19:16:26 +08:00 via Android
    @TommyLemon ok 谢谢,因为这个天天写代码时都发愁
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1029 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 19:51 · PVG 03:51 · LAX 11:51 · JFK 14:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.