构建 RESTful Web 服务
1. 项目概述与结构
我们将为 EzyTutors 数字店面构建一个 RESTful Web 服务。选择 RESTful 风格的 API 是因为它们直观、广泛使用,且适合面向外部的 API。此 Web 服务的核心功能包括发布新课程、获取导师的课程列表以及获取单个课程的详细信息。初始数据模型仅包含一个资源:课程。
在深入数据模型之前,我们需要确定项目和代码的结构,并考虑如何在多个 Actix 工作线程中安全地访问内存中的数据。
1.1 REST API 简介
REST 代表表述性状态转移,它将 Web 服务可视化为资源网络,每个资源都有自己的状态。用户可以通过 URI 对资源触发 GET、PUT、POST 和 DELETE 等操作。例如, https://www.google.com/search?q=weather%20berlin 可用于获取柏林的当前天气。
资源是应用程序实体,如用户、货物运输、课程等。对资源的操作(如 POST 和 PUT)可能导致资源状态的改变,最新状态会返回给发起请求的客户端。
REST 架构定义了 Web 服务必须遵循的一组属性(约束):
- 客户端 - 服务器架构 :允许关注点分离,客户端和服务器解耦,可以独立发展。
- 无状态性 :服务器在同一客户端的连续请求之间不存储客户端上下文。
- 分层系统 :允许在客户端和服务器之间存在中间件,如负载均衡器和代理。
-
超级会员免费看
订阅专栏 解锁全文
1327

被折叠的 条评论
为什么被折叠?



