使用 Actix、SQLx 和 JWT 在 Rust 中创建 API 服务器
Creating an API server in Rust with Actix, SQLx and JWT
使用 Actix Web、SQLx 和 JWT 认证,以 Rust 的安全性和性能构建自己的 REST API 服务器。
你将学到
-
创建一个 Rust 项目
-
使用 Actix Web 创建一个 REST API 服务器
-
使用 SQLx 与数据库交互
-
使用 JWT 验证 API
-
使用 SQLx CLI 运行数据库迁移
要求
-
基本的编程经验
-
对 Rust 编程语言有基本了解
课程介绍
在这个课程中,我们将使用 Rust 创建一个 REST API 服务器来管理名为 MoneyFlow 的个人预算。MoneyFlow 将允许我们管理类别和交易。
使用这个系统,我们将能够:
-
创建、列出、更新和删除类别
-
创建、列出、更新和删除交易
-
列出特定类别的所有交易
-
查看总运行余额和特定类别的运行余额
我们将学习如何:
-
使用 cargo 创建一个新的 Rust 项目
-
构建并运行我们的 Rust 项目
-
添加 crates 并启用 crates 特性
我们将学习一些基本的 API 概念,例如:
-
路由和 HTTP 方法
-
从 HTTP 请求中提取数据
-
与数据库交互以查询和插入数据
-
创建用户账户
-
使用 JWT 进行身份验证
-
使用模型之间的关系查询和列出关联数据
除了这些概念,我们还将学习如何:
-
以类型安全的方式处理传入(请求)和传出(响应)数据
-
处理 CORS
-
速率限制
-
创建并运行数据库迁移
我们将在课程末尾增加一节课,学习如何将我们的 API 服务器 Docker 化,以便在任何地方部署和运行。
我们将使用以下 crates:
-
Actix Web: 一个强大、实用且极快的 Rust Web 框架。
-
SQLx: 一个异步、纯 Rust SQL 库,具有编译时查询检查功能。
-
jsonwebtoken 用于以强类型方式创建和解码 JWT。
-
serde 和 serde_json 用于高效且通用地序列化和反序列化 Rust 数据结构。
这门课程适合谁:
- 对使用 Rust 创建 REST API 服务器和其他项目感兴趣的程序员
- 希望使用 Actix Web 框架的初级 Rust 开发者
- 希望使用 SQLx 进行数据库交互的初级 Rust 开发者
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。


评论(0)