window.axios.patch('https://fir-3-test-2332e.firebaseio.com/notes/' + this.$route.params.key + '.json', {
title: title,
label: labels[label],
content: content,
time: now
}).then(res => {
this.is_data_loaded = true;
this.$router.go(-1);
})
https://segmentfault.com/q/1010000005685904

patch方法用来更新局部资源,这句话我们该如何理解?

假设我们有一个UserInfo,里面有userIduserNameuserGender等10个字段。可你的编辑功能因为需求,在某个特别的页面里只能修改userName,这时候的更新怎么做?

人们通常(为徒省事)把一个包含了修改后userName的完整userInfo对象传给后端,做完整更新。但仔细想想,这种做法感觉有点二,而且真心浪费带宽(纯技术上讲,你不关心带宽那是你土豪)。

于是patch诞生,只传一个userName到指定资源去,表示该请求是一个局部更新,后端仅更新接收到的字段。

put虽然也是更新资源,但要求前端提供的一定是一个完整的资源对象,理论上说,如果你用了put,但却没有提供完整的UserInfo,那么缺了的那些字段应该被清空

补充:

最后再补充一句,restful只是标准,标准的意思是如果在大家都依此行事的话,沟通成本会很低,开发效率就高。但并非强制(也没人强制得了),所以你说在你的程序里把方法名从put改成patch没有任何影响,那是自然,因为你的后端程序并没有按照标准对两个方法做不同处理,她的表现自然是一样的

 

最新文章

  1. 从Unity3D编译器升级聊起Mono
  2. 备忘DES简单加密与解密
  3. 20145206邹京儒《Java程序设计》课程总结
  4. mysql 截取指定的两个字符串之间的内容(locate,substring)
  5. HDU 1392 Surround the Trees (Graham求凸包周长)
  6. Delphi XE5 android toast
  7. Python 在Visual studio 中做单元测试进行TDD开发
  8. [Android]通过setImageURI设置网络上面的图片
  9. Codeforces 235B Let's Play Osu! 概率dp(水
  10. linux 怎么使用一个c/c++库
  11. 1.3.1. 新建Xcode项目并设置故事板(Core Data 应用程序实践指南)
  12. httpd配置ResponseHeader
  13. 激光推送(ios,安卓)
  14. MySQL5.7的新特性
  15. Hadoop概念学习系列之再谈hadoop集群里的本地模式、伪分布模式和全分布模式(三十七)
  16. C#利用tabControl控件实现多窗体嵌入及关闭
  17. 使用Reflector反编译并提取源代码
  18. ns-3 可视化模拟 (一) PyViz
  19. ORACLE关于锁表查询的部分SQL
  20. PBOC中文件结构,文件类型解析

热门文章

  1. docker集群
  2. 开源地图编辑器 MarbleMap,支持Cocos2d-x坐标系
  3. (7) go 函数
  4. 633. Sum of Square Numbers【Easy】【双指针-是否存在两个数的平方和等于给定目标值】
  5. 51nod 1052 (dp)
  6. Unity做360度的全景照片
  7. PMP的六大管理学定律
  8. [BZOJ 1855] 股票交易
  9. Codeforces 961E 主席树
  10. 关于Mysort实验的补发博客