我今天正在使用我的应用程序,当我的朋友查看我的代码时,他告诉我,在发出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请求之前,遍历字典并清理每个对象吗?
答案 0 :(得分:1)
由于我的声誉,我无法添加评论,因此我将其作为答案
不一定,这在很大程度上取决于服务器的API的工作方式,如果期望整个对象,则无需使用清理,现在,如果您可以选择仅发送修改后的元素,则不必发送整个对象。
HTTP请求对于单个片段或整数对象将以相同的方式工作,但是您可以通过发送更少的,仅发送的是Required(如更改的值)来缩短以kbps为单位的数据流量
总结,这在很大程度上取决于您的方法,使用单个值而不是整个对象,您可以执行更多的泛型函数并改善其整个范围。
检查:THIS与您的问题类似。
编辑:
也许他指的是清除代码并仅发送必要内容的问题,所以我理解了问题的范围
请记住,传递的次数越少,原始对象(在服务器上)的完整性就越好。
创建仅可进行必要更改的通用(可调节)函数是一种好习惯。
答案 1 :(得分:0)
想到的几个原因:
为未知计划:今天,您的服务器不再关心people
属性。但是,假设您在服务器端添加了一些内容,并且出现了people
属性,它是一个字符串。现在您所有的客户都失败了,因为他们尝试将数字推送到字符串
拯救世界:数据就是能量,即使发送的数据很少,您也会通过发送服务器可以处理的更多数据来浪费它
节省您的精力:发送更多属性可能意味着更多工作(编写代码和/或测试代码)