Juniper

README.md
commit 9623e4d32694118e68ce8706f29e2cfbc6c5b6dc

Juniper 是 Rust 语言的 GraphQL 服务器库,用最少量的样板文件和配置构建类型安全且快速的 API 服务器。

GraphQL 是Facebook开发的一种数据查询语言,旨在为移动和 Web 应用程序前端提供服务。

Juniper 使得以 Rust 语言编写类型安全且速度惊人的 GraphQL 服务器成为可能,我们还尝试尽可能方便地声明和解析 GraphQL 模式。

Juniper 不包含 Web 服务器,仅提供了构建快,使得其与已有服务器的集成简单明了。Juniper 可选地为 HyperIronRocket,以及 Warp等框架提供了预构建集成,并嵌入了 Graphiql,以便于调试。

译者注: 对于 Juniper 团队没有提供预集成的 Web 框架,如 actix-web,其构建集成也很简单,actix-web 用户提供了完整集成实例。

特点

Juniper 根据 GraphQL 规范定义支持完整的 GraphQL 查询语言,包括:接口、联合、模式内省,以及验证。但是不支持模式语言。

Juniper 作为 Rust 语言的 GraphQL 库,默认构建非空类型。类型为 Vec<Episode> 的字段将被转换为 [Episode!]!,相应的 Rust 语言类型则为 Option<Vec<Option<Episode>>>

集成

数据类型

Juniper 与一些较常见的 Rust 库进行了自动集成,使构建模式变得简单,被集成的 Rust 库中的类型将在 GraphQL 模式中自动可用。

Web 框架

API 稳定性

Juniper 还未发布 1.0 版本,部分 API 稳定性可能不够成熟。