在将对象发送到服务器之前,我应该清理它们吗?

时间:2019-06-12 21:51:12

标签: arrays json api

我今天正在使用我的应用程序,当我的朋友查看我的代码时,他告诉我,在发出HTTP请求更新对象之前,我应该删除服务器中未使用的属性,并且我没有明白为什么。 我在网上没有找到任何最佳实践或任何解释,为什么在将对象发送到服务器之前最好清理它们...

假设我有一本包含100个键和值的字典,这些键和值具有相同的属性(但值不同),就像这样:

    {
        '11':{'id':11, 'name':'test1', 'station':2, 'price': 2, 'people':6, 'show':true, 'light': true},
        '12':{'id':12, 'name':'test2', 'station':4, 'price': 2, 'people: 1, 'show': true, 'light': false},
        ....
    }

我唯一需要更改的是每对站。新的站号已在我的客户端上设置,并发送到我的服务器,以便在数据库中为每对配对更新...

我应该在朋友向我的服务器发出HTTP请求之前,遍历字典并清理每个对象吗?

2 个答案:

答案 0 :(得分:1)

由于我的声誉,我无法添加评论,因此我将其作为答案

不一定,这在很大程度上取决于服务器的API的工作方式,如果期望整个对象,则无需使用清理,现在,如果您可以选择仅发送修改后的元素,则不必发送整个对象。

HTTP请求对于单个片段或整数对象将以相同的方式工作,但是您可以通过发送更少的,仅发送的是Required(如更改的值)来缩短以kbps为单位的数据流量

总结,这在很大程度上取决于您的方法,使用单个值而不是整个对象,您可以执行更多的泛型函数并改善其整个范围。

检查:THIS与您的问题类似。

编辑:

也许他指的是清除代码并仅发送必要内容的问题,所以我理解了问题的范围

请记住,传递的次数越少,原始对象(在服务器上)的完整性就越好。

创建仅可进行必要更改的通用(可调节)函数是一种好习惯。

答案 1 :(得分:0)

想到的几个原因:

  • 为未知计划:今天,您的服务器不再关心people属性。但是,假设您在服务器端添加了一些内容,并且出现了people属性,它是一个字符串。现在您所有的客户都失败了,因为他们尝试将数字推送到字符串

  • 拯救世界:数据就是能量,即使发送的数据很少,您也会通过发送服务器可以处理的更多数据来浪费它

  • 节省您的精力:发送更多属性可能意味着更多工作(编写代码和/或测试代码)