restful patch 和 put 请求的区别 看到laravel 使用 Route::resource 生成 restful 架构的路由, 里面的更新用的是 patch 请求, 而有的地方说是用 put, 就查了一下, 这篇说得很明白, 就复制过来了 put 更新全部资源 patch 方法用来更新局部资源 假设我们有一个UserInfo,里面有userId, userName, userGender等10...
1. PUT /users/{id} 更新用户信息 2. PATCH /users/role/{id} 更新用户角色 3. PATCH /users/status/{id} 更新用户状态 在这三个接口便可以看出PUT和PATCH的区别 PUT方法主要是用来更新整个资源的,而PATCH方法主要是用来执行某项操作并更新资源的某些字段 而在项目中,这三个接口需要的用户权限也不一样 PUT...
依据PATCH for HTTP Method 一文中的描写叙述(http://tools.ietf.org/html/rfc5789)我们知道,PATCH 操作主要用来更新部分资源,并且其不是幂等(所谓的幂等就是每次更新后。结果不变)的。Put操作主要用来更新所有的资源,并且事实上幂等的。 那么PATCH操作的优势是什么呢?由于PATCH操作用来更新部分资源,所以能够节省网络...
1.PATCH操作不是安全的和幂等的 2.实现PATCH操作语义的应用必须保证当前的PATCH操作是最小粒度,即它的原子性。
PUT:用来创建一个URL已知的资源,或对已知资源进行完全替换。一般用来更新一个已知资源,除非在创建前,自己完全知道要创建的对象的URL。 POST:用来创建一个子资源,不是幂等的,多次执行,将导致多条形同的资源被创建。 PATCH:是对PUT方法的补充,用来对已知资源进行局部更新。
统一接口:REST要求,必须通过统一的接口来对资源执行各种操作。对于每个资源只能执行一组有限的操作。以HTTP/1.1协议为例,HTTP/1.1协议定义了一个操作资源的统一接口,主要包括7个HTTP方法: GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS。 GET(select):从服务器取出资源(一项或多项)。
PUT:更新单个资源(全量),客户端提供完整的更新后的资源。与之对应的是 PATCH,PATCH 负责部分更新,客户端提供要更新的那些字段。PUT/PATCH一般向“单个资源”型uri发起 DELETE:删除 HEAD / OPTION 用的不多,就不多解释了。 1、安全性和幂等性 安全性:不会改变资源状态,可以理解为只读的; ...
PUT/PATCH一般向“单个资源”型uri发起 PUT/animals/1 PUT /zoos/1 1. 2. DELETE:删除 DELETE/zoos/1/employees/2 DELETE/zoos/1/employees/2;4;5 DELETE/zoos/1/animals //删除id为1的动物园内的所有动物 1. 2. 3. 安全性和幂等性 1. 安全性 :不会改变资源状态,可以理解为只读的; ...
§201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。 §202 Accepted - [*]:表示一个请求已经进入后台排队(异步任务) §204 NO CONTENT - [DELETE]:用户删除数据成功。 §400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。