本文我们来谈谈,关于 REST
接口。
什么是 RESTful 接口
REST -> Respresentational State Transfer(表述性状态转移)
REST 将资源的状态以适合客户端的形式从服务端发送到客户端(或相反方向)。在 REST
中,通过 URL
进行资源定位,用 HTTP
动作(GET、POST、DELETE、PUT
等)描述进行操作,完成功能。
RESTful
表示 REST
的形容词。
RESTful 接口是一种设计风格,用于构建网络应用程序的 API
。
在 RESTful 接口中,每个资源都由唯一的 URL
标识,比使用 HTTP
方法(如GET、POST、PUT、DELETE
)对资源进行操作。这些 HTTP 方法对应了服务端执行的操作,例如获取资源、创建资源、更新资源或删除资源。
RESTful 接口还使用 HTTP
状态码来表示请求的处理结果,例如 200
表示成功、404
表示资源未找到等。RESTful 接口还支持数据的不同表示格式常用的有 JSON
和 XML
。
REST 特征
REST
有以下的特征:
- 客户 - 服务端(client - server):提供服务的服务器和使用服务的客户端需要被隔离对待
- 无状态(stateless):服务器端不存储客户的请求中的信息,客户的每一个请求必须包含服务器处理该请求所需的信息,所有的资源都可以通过
URI
定位,而且这个定位与其他资源无关,也不会因为其他资源的变化而变化。 - 可缓存(cacheable):服务器必须让客户端知道请求是否可以被缓存。
- 分层系统(layered System):服务器和客户端之间的通信必须被标准化。
- 统一接口(uniform interface):客户端和服务器之间的通信方法必须统一,
RESTful
风格的数据元操作CRUD(Create、Read、Update、Delete)
分别对应HTTP
方法 -Post
创建新资源,Get
获取资源,Put
更新资源和Delete
删除资源,这样就能统一数据操作的接口。 - HTTP 状态码:状态码在
REST
中都有特定的意义,比如401
表示用户身份认证失败。 - 支持按需代码(Code-On-Demand,可选):服务器可以提供一些代码或脚本,并在客户的运行环境中执行。
相关案例会在后面的文章中进行补充~
参考
- 《Spring Boot 实战派》
- 什么是 REST API?