在本教程中,您将通过示例学习 REST 基础知识和重要的关键概念。
在https://www.javaguides.net/p/restful-tutorial.html了解有关使用 Java 的 REST 的所有信息
让我们开始介绍 REST?
REST 代表REpresentational State Transfer。
让我们了解一下 REST 首字母缩写词中每个单词的含义。
具有以下约束的 API 称为 RESTful API:
客户端-服务器架构:客户端是前端,服务器是服务的后端。需要注意的是,这两个实体是相互独立的。
无状态:在处理请求传输过程中,不应在服务器上存储任何数据。会话的状态应该保存在客户端。
可缓存:客户端应该能够将响应存储在缓存中。这大大提高了 API 的性能。
统一接口:该约束表示一个通用接口,以统一的方式管理客户端和服务器之间的所有交互,从而简化和解耦架构。
分层系统:服务器可以有多个层来实现。这种分层架构通过启用负载平衡来帮助提高可扩展性。
按需代码:此约束是可选的。此约束表明客户端应用程序的功能可以在运行时通过允许从服务器下载代码并执行代码来扩展。
基于 REST 的系统的基本概念是资源。资源是您想通过您的应用程序向外界公开的任何东西。
示例 1:员工管理系统资源:
- 员工
- 部
- 项目
- 任务
- 地址
示例 2:学生管理系统的资源:
- 学生
- 老师
- 学校
- 班级
- 主题
资源可以通过统一资源标识符 (URI) 来标识。对于基于 Web 的系统,HTTP 是与外部系统通信最常用的协议。您可以使用 URI 标识唯一资源。
考虑一下,我们正在开发一个简单的博客应用程序,您可以为博客帖子资源定义 URI:
GET ——http://localhost:8080/api/posts/:返回所有帖子的列表
GET— http://localhost:8080/api/posts/2:返回一个 ID 为 2 的帖子
POST—— http://localhost:8080/api/posts/:创建一个新的 Post 资源
PUT—— http://localhost:8080/api/posts/2:更新一个 ID 为 2 的 POST 资源
DELETE—— http://localhost:8080/api/posts/2:删除一个ID为2的POST资源
在 REST 中,关系通常由子资源建模。对子资源使用以下模式。
GET /{resource}/{resource-id}/{sub-resource}
GET /{resource}/{resource-id}/{sub-resource}/{sub-resource-id}
POST /{resource}/{resource-id}/{sub-resource}
使用子资源子对象不能没有其父对象而存在。
在REST API上阅读有关 HTTP 方法的更多信息 - HTTP 方法