REST(Representational State Transfer),表述性状态转移,定义了互联网架构原则,是一种架构风格,具体原则如下:
1.互联网所有资源都可以被抽象为资源
2.每个资源都有唯一的资源标识符
3.同一个资源具有多个表现形式(可以是json,xml等等)
4.对资源的操作不会改变资源标识符
5.所有的操作都是无状态的
主要是就是说互联网上的资源可以用一种规则来表示,对资源的操作是无状态的。
RESTFUL,是指遵守rest规则的web服务,restful是一种ROA(Resource Oriented Architecture,面向资源的架构),restful的核心概念就是资源(Resource)。
互联网中客户端和服务端的交互就是资源的表述,这种表述是无状态的,也就意味着服务端要报错资源的所有状态,客户端可以通过http协议按照规定的规则访问或者改变资源的状态,就是所谓的“表述性状态转移”。
具体表现形式如下:
GET /users 获取用户列表
GET /users/1 获取id(主键)为1的用户
POST /users 创建用户
PUT /users/1 修改id为1的用户(整条数据替换)
PATCH /users/1 修改id为1的用户(数据局部字段替换)
DELETE /users/1 删除id为1的用户
简单来说就是通过请求方法名来表示行为,url来表示操作的资源
更多例子:
GET /users/1/products 获取id为1用户下的产品列表
GET /users/1/products/1 获取id为1用户下的id为1的产品
GET /users/name/aaa/products 获取name为aaa的用户下的产品列表
GET /users/name/aaa/products/name/ppp 获取name为aaa的用户下的名为ppp的产品
POST /users/1/products id为1的用户下创建一个产品
PUT /users/1/products/1 修改id为1的用户下的id为1的产品(整条数据替换)
PATCH /users/1/products/1 修改id为1的用户下的id为1的产品(数据局部字段替换)
DELETE /users/1/products/1 修改id为1的用户下的id为1的产品
网友评论