一. 知识储备
1.1 REST是什么?
REST:即Representational State Transfer。(资源)表现层状态转化。是目前最流行的一种互联网软件架构。
1.2 涉及相关的概念
1.2.1 资源(Resource)
资源是网络上的一个实体。比如它可以是一个视频、一首歌、一篇文章、一种服务,总之就是一个具体的存在,即使是摸不着的,也算是具体的存在。每种资源对应一种特定的URI,获取这个资源,访问它的URI就可以了。URI是每个资源独一无二的标识符。
1.2.2 表现层(Representation)
把资源具体呈现出来的形式,叫表现层。比如文本,可以用txt形式表现,也可以用html形式、XML格式、JSON格式、甚至是二进制形式。
1.2.3 状态转化(State Transfer)
每发出一个请求就代表客户端和服务器的一次交互过程。HTTP协议是一个无状态协议,即所有状态都保存在服务器端。因此,如果客户端想要操作服务器,必须通过某种手段,让服务器端发生“状态转化”(即State Transfer)。而这种转化是基于表现层之上的,所以就是“表现层状态转化“。
1.3 REST到底是什么,有什么用?(重要)
具体的说就是HTTP协议里面,有四个表示操作方式的动词:GET、POST、PUT、DELETE。它们分别对应四种操作:
操作方式 | 说明 |
---|---|
GET | 获取资源 |
POST | 新建资源 |
PUT | 更新资源 |
DELETE | 删除资源 |
1.4 REST的URL风格
示例:
- 如果有url:/order/1 ,HTTP的操作方式为GET:那么它的意思就是得到id=1的order,类似于getOrder?id=1
- 如果有url:/order/1,HTTP的操作方式为DELETE:那么它的意思就是删除id=1的order,类似于deleteOrder?id=1
- 如果有url:/order,HTTP的操作方式为PUT:那么它的意思就是更新order,类似于updateOrder
- 如果有url:/order,HTTP的操作方式为POST:那么它的意思就是创建order或者叫插入order,类似于insertOrder
作用:一般用来在jsp页面写超链接的url形式,比用?拼接参数要简便得多