GraphQL 在 Rust 上:构建现代 API
GraphQL 在 Rust 上:构建现代 API
简介:
GraphQL 是一种用于 API 的现代查询语言,它允许客户端精确获取所需的数据,而没有任何多余内容。Rust 是一种系统编程语言,以其高性能和安全性著称。《GraphQL 在 Rust 上》一书将这两种强大的技术结合起来,提供了构建高效、安全且可扩展的 Web 服务的实用指南。
本书面向已经熟悉 Rust 基础知识并希望掌握构建 API 的现代方法的开发者。您将学习如何利用 Rust 生态系统来实现能够每秒处理数千个请求且内存消耗极低的 GraphQL 服务器。
您将从本书中学到什么:
- GraphQL 基础:类型、模式、查询、变更和订阅。
- 使用两个主要库:Juniper(成熟、经过验证)和 Async-GraphQL(异步、现代)。
- 与流行的 Web 框架集成:Actix-web、Axum、Warp。
- 为复杂领域模型设计模式。
- 错误处理和输入数据验证。
- 授权和身份验证:JWT、RBAC、中间件。
- 与数据库协作:通过 Diesel 和 SQLx 使用 PostgreSQL、SQLite、MongoDB。
- 查询优化:N+1 问题和数据加载器。
- 测试:单元测试、集成测试、模拟对象。
- 部署:Docker、CI/CD、监控和日志记录。
本书结构:
- 第一部分:引言。 GraphQL 和 Rust 概述,环境配置。
- 第二部分:基础。 创建第一个模式、类型、查询、变更。
- 第三部分:高级主题。 订阅、自定义标量、指令、联邦。
- 第四部分:集成。 数据库、缓存、外部 API。
- 第五部分:生产环境。 测试、安全、部署、监控。
每一章都包含实用的代码示例,您可以立即运行和测试。您将构建一个完整的项目——一个用于任务管理系统的 GraphQL 服务器,它将涵盖真实应用的所有关键方面:身份验证、数据库操作、分页、过滤和实时订阅。
本书既适合希望转向 Rust 的后端开发者,也适合希望扩展其构建 Web 服务工具库的经验丰富的 Rustaceans。凭借清晰的结构和丰富的示例,您将能够快速将所学知识应用于实践。
掌握使用 Rust 和 GraphQL 构建现代、高性能且可靠的 API——您的下一个项目将变得更快、更安全、对用户更友好。