GraphQL 在 Rust 上:构建现代 API
300 页
Chinese
PDF
4.5

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——您的下一个项目将变得更快、更安全、对用户更友好。

推荐