文档章节

RESTFUL服务中POST/PUT/PATCH方法的区别

40岁的青春
 40岁的青春
发布于 2015/05/25 09:40
字数 462
阅读 963
收藏 4

POST/PUT方法,都可以用来创建或更新一个资源。

区别是细微但清楚的:

POST方法用来创建一个子资源,如 /api/users,会在users下面创建一个user,如users/1

POST方法不是幂等的,多次执行,将导致多条相同的用户被创建(users/1,users/2 ...而这些用户除了自增长id外有着相同的数据,除非你的系统实现了额外的数据唯一性检查)。


PUT方法用来创建一个URI已知的资源,或对已知资源进行完全替换,比如users/1。

PUT方法一般会用来更新一个已知资源,除非在创建前,你完全知道自己要创建的对象的URI。

PATCH方法是新引入的,是对PUT方法的补充,用来对已知资源进行局部更新。


关于URI和URL:
URI—Universal Resource Identifier通用资源标志符
Web上可用的每种资源如HTML文档、图像、视频片段、程序等都是一个来URI来定位的
URI一般由三部组成
①访问资源的命名机制
②存放资源的主机名
③资源自身的名称,由路径表示,着重强调于资源。

URL—Uniform Resource Location统一资源定位符
URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic。
采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。
URL一般由三部组成
①协议(或称为服务方式)
②存有该资源的主机IP地址(有时也包括端口号)
③主机资源的具体地址。如目录和文件名等

© 著作权归作者所有

40岁的青春
粉丝 2
博文 72
码字总数 14325
作品 0
朝阳
私信 提问
为什么 HTTP PATCH 方法不是幂等的及其延伸

幂等性 首先来看什么是幂等性,根据 rfc2616(Hypertext Transfer Protocol -- HTTP/1.1) 文档第 50 页底部对 Idempotent Methods 的定义: Methods can also have the property of "idempot......

greenlihui
04/06
0
0
RESTFul中的那些事(2)----如何支持RESTFul的HTTP Patch方法?

我们在调用RESTFul服务的时候,有的时候,第三方的服务会提供支持PATCH 操作的方法,在这种情况下,我们如果我们下面的这种方式, 去调用PATCH操作,肯定会返回40X的错误。 PATCH /tasks/v1/...

chancein007
2014/06/13
0
0
网红 RESTful API 接口说明

广义互联-网红APP RESTful API接口 API接口说明 http://wanghong.ngrok.natapp.cn/v1/favorites/13?fields=user_id,name&expand=tags 参数 fields 指定要获取的字段 参数 expand 指定相关联的......

cgjcgs
2016/04/29
11
0
十万个为什么之什么是resultful规范

起源 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点...

尾生
2018/12/11
28
2
为什么 RESTful Web 服务设计可以帮你思考正确的事情

你可能管理一个API。或许你正准备做一个,并且很期待开始。但是要当心,因为好的API设计可能很难。 设计一个好的API会有很多事情需要考虑。与设计web用户界面不同,您可能不了解所有客户端的...

oschina
2018/09/10
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
5
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
6
0
数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
昨天
6
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
7
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部