gpt4 book ai didi

开发中的 Json 对象?是前端还是后端决定的?

转载 作者:行者123 更新时间:2023-12-05 09:21:32 24 4
gpt4 key购买 nike

我正在开发从后端获取 JSON 后生成布局的网络应用程序。但是从后端接收到的对象非常复杂,需要循环多次才能得到布局。

将数据发布到后端时也会发生同样的情况。

我的感觉是,如果我们按照前端布局生成JSON对象来发布数据,即使后端的对象结构发生变化,布局生成也不需要那些额外的循环。

那么json对象到底是后端给的还是前端给的?

例如后台给

[
{
"keyid": "value",
"attr1": "value1",
"attr2": "value2"
},
{
"keyid": "value",
"attr3": "value3",
"attr4": "value4"
}
]

但前端很容易接收和发送以下格式的对象:

{
"keyid": "value",
"attr": {
"attr1": "value1",
"attr2": "value2",
"attr3": "value3",
"attr4": "value4"
}
}

最佳答案

好问题,尽管它可能会因为“过于宽泛”而被关闭。

一般来说,后端负责持久化数据、执行业务逻辑、准备和接受进出前端的数据包,理想情况下前端可以将自己限制在其自身范围内角色,主要是显示数据、管理导航和处理用户交互,进行完成这些事情所需的任何预处理和操作。

如果后端“做得不够”,那么你会看到前端需要发出太多数据请求来获取它需要的数据,相当于“连接”来组合和关联数据,并执行业务逻辑。这会减慢前端速度并使其变得更加复杂,并将业务逻辑分散到后端和前端。

另一方面,如果后端“做得太多”,并且计算并提供所有内容,以至于只需要将其填充到一些 HTML 模板中,结果就是它最终过于依赖特定的前端设计,意味着变化需要对两侧进行过多的修改。

因此,人们试图找到一个中庸之道。后端应该检索所有必要的数据,关联和操作数据,并执行业务逻辑。它提供了一组相对抽象但充实的数据对象,前端可以为 UI 准备和操作这些数据对象。对于在哪里划线没有硬性规定。

例如,分页可以被认为是一个“UI”问题,并且可以由大多数客户端框架轻松处理,但是如果有成百上千个对象,性能方面的考虑可能会要求在服务器上处理它。排序也一样。

考虑计算购物车中商品的总价。前端可以很容易地执行这种业务逻辑,但可能会有一些规则,例如最好在后端处理的批量折扣或货币转换。当然,如果要在服务器上完成计算,则每次将商品添加到购物车时都需要再次往返服务器以重新计算总数。往返相对便宜,但在某些情况下,性能问题可能会导致人们想要在客户端执行此操作以避免往返。

归根结底,这是一组设计选择。当然,后端 API 经常被“卡住”,前端人员只能根据给定的内容工作。

关于开发中的 Json 对象?是前端还是后端决定的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31353848/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com