在前端和后端之间映射变量名称 [已关闭]

Mapping variable names between frontend & backend [closed]

提问人:Aslan 提问时间:11/16/2023 最后编辑:jonrsharpeAslan 更新时间:11/16/2023 访问量:56

问:


想改进这个问题吗?更新问题,以便可以通过编辑这篇文章用事实和引文来回答。

7天前关闭。

我正在开发一个全栈应用程序(React、Node、Postgres)。当从前端接收表单数据时,我希望某些变量名称 sush as 和 I 映射到后端服务器上,以将其插入到 postgres 数据库中。现在我的问题是关于GET请求并将数据发送回前端: 在发送 json(映射回 )之前,我应该将名称映射回服务器上的前端命名约定还是在前端处理映射? 关于这种情况的最佳实践是什么?firstNamefirstNamefirst_namefirst_namefirstName

JavaScript 节点 .js PostgreSQL

评论


答:

-1赞 Onnwen 11/16/2023 #1

在 SQL 查询中,您可以重命名数据:

SELECT first_name as "firstName"

从查询返回的对象将具有正确命名的属性。

评论

2赞 Aslan 11/16/2023
在数据库层处理这个问题听起来根本不是一个好的做法。
3赞 Bergi 11/16/2023
...实际上它在 Postgres 中。如果没有引号,它会将字段名称规范化为小写。as "firstName"
0赞 Onnwen 11/16/2023
编辑,谢谢Bergi。
1赞 Onnwen 11/16/2023
根据具体情况,最有效的解决方案可能是在前端 Aslan。但我不是它的忠实粉丝。
2赞 Derek 11/16/2023
UI 不应了解它正在获取或保存的数据的基础数据库结构,反之亦然,数据库不需要知道 UI 如何使用它的任何信息。后端的接口(REST API、GraphQL 等)应该负责从请求和响应端进行任何转换。将这些问题分开。它的效率可能略低于数据库层,但对于长期可维护性来说,这是值得的。
2赞 Bergi 11/16/2023 #2

是的,最佳做法是将映射的代码保存在一个地方:要么在后端,要么在前端,而不是两者兼而有之。保持每个 API 中的命名约定一致。

如果后端接受作为输入并在插入数据库时在内部执行映射,则在从数据库读取时,它还应该在内部执行映射并作为输出提供。firstNamefirstName