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

2018-12-04 13:40:31 +08:00
 jerrry

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

2017 次点击
所在节点    程序员
8 条回复
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
2018-12-04 18:24:17 +08:00
啥都别动,喝喝茶就行了。

如果真要动,直接写新的接口,原来的接口千万要留着。
jerrry
2018-12-05 08:08:10 +08:00
@TommyLemon @corningsun 接口改是不可能改了,其他老系统也都有调用。但是直接在前端项目用这些字段感觉像吃苍蝇一样,所以想看下有没有优雅的前端用的 mapping 工具。
reus
2018-12-05 10:26:24 +08:00
不要动,谁动谁傻逼
TommyLemon
2018-12-05 10:43:52 +08:00
@jerrry
除非领导明确表示能承担重构的风险,否则原来的代码就不要改了,
稳定第一,难看但能很好地工作的代码 好过 优雅但有重大问题的代码。
后面写的接口可以规范起来。
jerrry
2018-12-06 19:23:47 +08:00
@TommyLemon 打算搭一层 node 转换,可行吗
TommyLemon
2018-12-06 22:01:45 +08:00
@jerrry 还是得像上面说的那样做,只不过从 Client/Browser 转移到了 Server
jerrry
2018-12-08 19:16:26 +08:00
@TommyLemon ok 谢谢,因为这个天天写代码时都发愁

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

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

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

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

© 2021 V2EX