1、REST风格的请求
- rest全称是Representational State Transfer(表述性状态转移);
资源
在网络中以某种表现形式
进行状态转移
1、资源
所谓的资源
,就是网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的存在。可以用一个URI指向它。URI是每一个资源的地址(独一无二的标识符)。
2、表现层
资源
是一种信息实体,它可以有多种外在表现形式。我们把资源
具体呈现出来的形式,叫做他的表现层
。
3、状态转移
访问一个网站,就代表了客户端和服务器的一个互动过程。在这个过程中,肯定会设计到数据和状态的变化。
HTTP协议是一个无状态协议。这就意味着,所有的状态都保存在服务器端。因此,如果客户端想要操作服务器,必须通过某种手段,让服务器端发生状态变化
。而这种转化是建立在表现层之上的,所以就是表现层状态转化
。
客户端用到的手段,只能是Http协议。具体来说,就算HTTP协议里面,四个表示操作方式的动词:GET、POST、PUT、DELETE。他们分别对应四种基本操作:GET用来获取资源,POST用来新建资源(也可用来更新资源),PUT用来更新资源,DELETE用来删除资源。
4、总结
- 使用URI表示资源
- 使用响应头的Content-Type和请求头的Accept表示资源的表现层(表现形式:html、json、xml、text、jpg等)
- 使用Http请求方法表示动作:
GET用来获取资源
POST用来新建资源或更新资源
PUT用来更新资源
DELETE用来删除资源
5、对比URI
传统的URI | REST风格的URI | |
---|---|---|
查询 | get /student/getById?id=1 | get /student/2 |
添加 | post /student/add | post /student 参数是json、form |
更新 | put /student/update | put /student/1 参数是json、form |
删除 | delete /student/deleteById?id=1 | delete /student/1 |