如何处理后端 api 和前端中不同的变量名称约定

fid*_*est 7 javascript naming-conventions reactjs

在 javascript 中,我使用驼峰式命名约定,但在后端 REST API 中返回已构建的蛇形命名法中的所有字段名称。我想知道这种情况的最佳实践是什么,特别是对于基于组件的前端应用程序(react)。我可以简单地将蛇形外壳替换为骆驼形外壳,但是当我有很深的嵌套对象时就会出现问题。

有谁有好的建议或者知道大公司如何处理这个事情?

Ami*_*mid 4

不幸的是,您对此无能为力。大多数服务器端语言都区分大小写,因此盲目更改服务器类/接口的客户端对应项的大小写不是一种选择。

据我所知,您可以考虑两种可能性:

  1. 如果在您的体系结构中允许您有有限数量的位置负责传输数据及其序列化/反序列化,并且您有客户端和服务器端类来描述相同的数据 - 您可以实现反序列化过程,该过程将自动转换将数据放入所需类的实例中,并在客户端和服务器端具有必要的名称约定。缺点是这种转换的明显开销,有时甚至是复杂/缓慢。此外,如果您在简单的系统中工作,您可能会缺少运行此转换的合适位置。

  2. 写下严格的规则,规定在服务器和客户端之间传递的所有数据都应遵循其中一种命名约定,即使它与代码的其余部分不同。然后确保每个人都遵循它们。您可以使用 tslint 或此类工具来确保此规则。缺点是代码有些混乱,并且需要额外的步骤来确保此规则。