update, set, put, patch

广告位招租
扫码页面底部二维码联系

写代码的时候,经常会有几个概念容易混淆,【关注微信公众号:wwwtangshuangnet】著作权归作者所有,禁止商业用途转载。即update, set, put, p原创内容,盗版必究。【原创不易,请尊重版权】atch。这几个单词在我们编程过程中经常本文作者:唐霜,转载请注明出处。【未经授权禁止转载】会出现,我们自己在给方法取名字的时候,也【本文受版权保护】本文版权归作者所有,未经授权不得转载。常常不知道该用哪一个好。据一个例子,当你本文作者:唐霜,转载请注明出处。【版权所有,侵权必究】想要将用户修改好的个人信息保存到数据库时原创内容,盗版必究。【未经授权禁止转载】,应该用哪一个单词呢?现在我就来具体解释【原创内容,转载请注明出处】【原创不易,请尊重版权】一下它们的使用场景。

【原创不易,请尊重版权】【访问 www.tangshuang.n未经授权,禁止复制转载。【作者:唐霜】et 获取更多精彩内容】

set:将对象塞入到集合中,无论这个对象【转载请注明来源】原创内容,盗版必究。是否在集合中已经存在。这里有一个隐藏的风【原创不易,请尊重版权】转载请注明出处:www.tangshuang.net险,如果这个对象在集合中已经存在了,那么【转载请注明来源】转载请注明出处:www.tangshuang.net当你set的对象比原来的对象少了一些属性本文作者:唐霜,转载请注明出处。【原创内容,转载请注明出处】的时候,这些属性就丢失了。在这种情况下,【原创不易,请尊重版权】【作者:唐霜】set相当于replace。而如果这个对转载请注明出处:www.tangshuang.net未经授权,禁止复制转载。象本身不存在于集合中,那么set就相当于本文作者:唐霜,转载请注明出处。原创内容,盗版必究。add了。

【转载请注明来源】原创内容,盗版必究。【版权所有】唐霜 www.tangshu【原创内容,转载请注明出处】转载请注明出处:www.tangshuang.netang.net

update:对传入的对象进行更新。首先【版权所有】唐霜 www.tangshuang.net【未经授权禁止转载】,它要更新的内容虽然是对象,但你不确定它未经授权,禁止复制转载。未经授权,禁止复制转载。的个数;其次,它在更新时并不像set一样本文版权归作者所有,未经授权不得转载。转载请注明出处:www.tangshuang.net进行直接替换,而是对传入update中参未经授权,禁止复制转载。未经授权,禁止复制转载。数中规定的属性进行更新,因此,参数中未规原创内容,盗版必究。【版权所有】唐霜 www.tangshuang.net定的属性保持不变;最后,它只是更新,不会转载请注明出处:www.tangshuang.net本文作者:唐霜,转载请注明出处。附带add操作。update是一个比较高【版权所有】唐霜 www.tangshuang.net【原创内容,转载请注明出处】度抽象的词,因此,你实在不知道应该选用哪【原创不易,请尊重版权】【转载请注明来源】个词作为更新操作的时候,用update就【本文受版权保护】【访问 www.tangshuang.net 获取更多精彩内容】行了。

未经授权,禁止复制转载。本文版权归作者所有,未经授权不得转载。本文版权归作者所有,未经授权不得转载。本文版权归作者所有,未经授权不得转载。

put:和set非常接近。从词语本身看,【转载请注明来源】【本文受版权保护】set更多倾向于replace,put更【本文首发于唐霜的博客】【本文首发于唐霜的博客】多倾向于add。put的前提是在集合中已【版权所有】唐霜 www.tangshuang.net原创内容,盗版必究。经存在一个位置(空位),而put操作准确【本文受版权保护】原创内容,盗版必究。的将参数对象放入这个位置。但是实际中,大未经授权,禁止复制转载。【本文首发于唐霜的博客】部分规则下,put被赋予replace的【版权所有,侵权必究】【转载请注明来源】功能。因此,在编程时,可以说put和se本文作者:唐霜,转载请注明出处。【版权所有,侵权必究】t没有区别。

【作者:唐霜】未经授权,禁止复制转载。【转载请注明来源】本文版权归作者所有,未经授权不得转载。

patch:和update非常接近,但仅【关注微信公众号:wwwtangshuangnet】未经授权,禁止复制转载。对单个对象进行update,而updat本文版权归作者所有,未经授权不得转载。【原创不易,请尊重版权】e可以对一组对象进行更新。在restfu著作权归作者所有,禁止商业用途转载。未经授权,禁止复制转载。l中patch和put一样也被定义为更新本文版权归作者所有,未经授权不得转载。【原创不易,请尊重版权】操作。实际上,我认为patch是对但对象转载请注明出处:www.tangshuang.net原创内容,盗版必究。的update,而put被大部分人误解。未经授权,禁止复制转载。转载请注明出处:www.tangshuang.netrestful中,大部分人将put定义为本文版权归作者所有,未经授权不得转载。未经授权,禁止复制转载。更新操作,即对但对象的update操作。原创内容,盗版必究。【版权所有】唐霜 www.tangshuang.net但我认为,put既不是update,也不转载请注明出处:www.tangshuang.net转载请注明出处:www.tangshuang.net是add,而是这两者的整合,也就是上面说原创内容,盗版必究。转载请注明出处:www.tangshuang.net的set的逻辑(repalce/add)本文作者:唐霜,转载请注明出处。本文作者:唐霜,转载请注明出处。。但是patch非常明确,就是对单个对象【本文首发于唐霜的博客】著作权归作者所有,禁止商业用途转载。的更新,因此,在restful设计中应该未经授权,禁止复制转载。原创内容,盗版必究。考虑用patch,而非put。

原创内容,盗版必究。【关注微信公众号:wwwtangshua著作权归作者所有,禁止商业用途转载。本文版权归作者所有,未经授权不得转载。ngnet】【关注微信公众号:wwwtangshua【原创不易,请尊重版权】转载请注明出处:www.tangshuang.netngnet】原创内容,盗版必究。

 

【版权所有,侵权必究】【原创内容,转载请注明出处】本文作者:唐霜,转载请注明出处。未经授权,禁止复制转载。

写方法的时候,我们常常会有两种方式,一种本文作者:唐霜,转载请注明出处。【转载请注明来源】是set(key, value)的形式,本文版权归作者所有,未经授权不得转载。【原创内容,转载请注明出处】另一种是set({ key: value本文版权归作者所有,未经授权不得转载。【关注微信公众号:wwwtangshuangnet】 })的形式。显然,第一种只能一次更新一著作权归作者所有,禁止商业用途转载。【未经授权禁止转载】个属性,而第二种可以同时更新多个属性。但未经授权,禁止复制转载。【版权所有】唐霜 www.tangshuang.net是很明显,这里如果我们把set理解为上文原创内容,盗版必究。【版权所有】唐霜 www.tangshuang.net阐述的意义,那么只能选择第一种形式,它代未经授权,禁止复制转载。【原创不易,请尊重版权】表将一个对象的某个属性整体替换为(如果不【原创内容,转载请注明出处】【转载请注明来源】存在则添加)新内容。而第二种形式更适合p【版权所有】唐霜 www.tangshuang.net本文作者:唐霜,转载请注明出处。atch,即我在知道我要更新哪一个对象时【访问 www.tangshuang.net 获取更多精彩内容】【转载请注明来源】(常常通过url确定),我只传入我想要更【版权所有】唐霜 www.tangshuang.net著作权归作者所有,禁止商业用途转载。新的属性名和值。但是在不知道我要更新哪个转载请注明出处:www.tangshuang.net本文版权归作者所有,未经授权不得转载。对象时,则不应该使用patch,而应该用【作者:唐霜】著作权归作者所有,禁止商业用途转载。update,并且要求在传入的对象中,提【未经授权禁止转载】【版权所有,侵权必究】供明确的主键值。

本文版权归作者所有,未经授权不得转载。【原创不易,请尊重版权】