RESTFul中的那些事(2)----如何支持RESTFul的HTTP Patch方法?
来源:互联网 发布:js 对象属性名是变量 编辑:程序博客网 时间:2024/06/05 19:46
我们在调用RESTFul服务的时候,有的时候,第三方的服务会提供支持PATCH 操作的方法,在这种情况下,我们如果我们下面的这种方式,
去调用PATCH操作,肯定会返回40X的错误。
PATCH /tasks/v1/users/@me/lists/MTIxNzM1OTkzNjgxNTQ1OTcwNTc6MDow HTTP/1.1content-type: application/json; charset=UTF-8connection: closeaccept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*authorization: Bearer ya29.LgALd08g5-NIQxwAAAB111tdMC-Q-jXhMoRxYEUS107_bD9p6xdVEq9tht3dpQaccept-encoding: iso-8859-1,*,utf-8x-http-method-override: PATCHaccept-charset: utf-8User-Agent: Jakarta Commons-HttpClient/3.0.1Host: www.googleapis.com:443Content-Length: 45{ "title":"This is a test for patch 5555"}
那么,解决的方案是什么呢?发送的时候,我们还是用POST方法,只不过我们在HTTP的消息头里面加上一个属性:x-http-method-override
然后把这个属性的值设置成“PATCH”,然后就可以了,请看下面的测试的请求和结果。
(1)测试请求(2) 测试返回的结果,说明Patch操作的修改成功了!!!
{ "kind": "tasks#taskList", "id": "MTIxNzM1OTkzNjgxNTQ1OTcwNTc6MDow", "etag": "\"esSgSc9hKkvJ92xs_2jT5Am6L4c/KKY36xrOZKKq3hKD4zW4yCwNmJo\"", "title": "This is a test for patch 5555", "updated": "2014-06-13T08:31:24.000Z", "selfLink": "https://www.googleapis.com/tasks/v1/users/@me/lists/MTIxNzM1OTkzNjgxNTQ1OTcwNTc6MDow"}
3 0
- RESTFul中的那些事(2)----如何支持RESTFul的HTTP Patch方法?
- RESTFul中的那些事(1)---在RESTFul中,HTTP Put和Patch操作的区别?
- RESTful, 说说 http 的 patch method(部分更新或insert)
- RESTFUL服务中POST/PUT/PATCH方法的区别
- RESTFUL服务中POST/PUT/PATCH方法的区别
- RESTFUL服务中POST/PUT/PATCH方法的区别
- RESTful HTTP的实践
- RESTful HTTP的实践
- RESTful HTTP的实践
- RESTful HTTP
- HTTP & RESTFUL
- 关于支持RESTful的思考
- springmvc对RESTful的支持
- SpringMVC的Restful风格支持
- restful和http的区别
- restful和http的区别
- restful和http的区别
- restful使用不同的http访问方法请求URL
- BZOJ 1036: [ZJOI2008]树的统计Count
- 初始设计模式4——抽象工厂模式
- OpenGL 常用函数 总结
- 技术需要分享
- [转载]iphone SprintBoard部分私有API总结
- RESTFul中的那些事(2)----如何支持RESTFul的HTTP Patch方法?
- 虚拟机随谈
- opengl es 教程翻译5---一个带纹理的shader
- #define 之妙用
- 何让CloudStack使用KVM创建Windows实例成功识别并挂载数据盘
- MTK MOTA升级步骤
- leetcode:Decode Ways
- [android篇]textview中片段响应点击事件(SpannableString)
- python实现归并排序