当前位置: 首页 > 工具软件 > Restful.Data > 使用案例 >

什么是 RESTful ?

吕鹏
2023-12-01

约束

前后端分离出现后,后端提供给前端的 API 应该如何设计成则便于理解容易使用的,成了一个问题。而所谓的 RESTful 就是用来规范后端提供的 API 的一种约束

Representational State Transfer

RESTful,意思是 REST 风格的。

REST 是 Representational State Transfer 的缩写,意思是表现层的 状态 转化

这里其实还缺一个东西。什么的表现层?Resources,资源

Resources

Resources,资源,网络上的一个信息实体。它可以是一段文本、一张图片、一首歌曲、一种服务。

每一个资源都有一个唯一标识,在 Web 中这个唯一标识就是URI (Uniform Resource Identifier)。
URI 既可以是资源的地址(URL,Uniform Resource Location),也可以是资源的名称(URN,Uniform Resource Name)。

要获取这个资源,访问它的URI就可以。所谓"上网",就是与互联网上一系列的"资源"互动,调用它的URI。

Representational

Representational,表现层的。表现层是资源的表现形式。如果资源是文本,表现层可以是 txt、html、json;如果资源是文件,表现层可以是 jpg、png。

State Transfer

State Transfer,状态转化。

访问一个网站,就代表了客户端(前端)和服务器(后端)的一个互动过程。在这个过程中,势必涉及到数据和状态的变化。

互联网通信协议 HTTP 协议,是一个无状态协议。这意味着,所有的状态都保存在服务器端。因此,如果客户端想要操作服务器,必须通过某种手段,让服务器端发生"状态转化"( State Transfer)。而这种转化是建立在表现层之上的,所以就是"表现层状态转化"。

客户端用到的手段,目前来说只能是 HTTP 协议。具体来说,就是 HTTP 协议里面,四个表示操作方式的动词:POST、 DELETE、PUT、GET,对应增删改查。

GET、PUT 和 DELETE 都是幂等(一次和多次请求产生相同的副作用)的。

对于这四种操作,前端利用 Ajax 里的 method,后端利用 @RequestMapping(method= ),只有两者对应才能访问成功。

 类似资料: