1 个不稳定版本

0.16.0 2024 年 2 月 29 日

#223异步

Download history 6/week @ 2024-03-11 86/week @ 2024-03-18 22/week @ 2024-03-25 18/week @ 2024-04-01 4/week @ 2024-04-22 8/week @ 2024-05-13 48/week @ 2024-05-20 27/week @ 2024-05-27 47/week @ 2024-06-03 23/week @ 2024-06-10 31/week @ 2024-06-17 44/week @ 2024-06-24

145 次每月下载
10 个 crates(9 个直接) 使用

BSD-2-Clause

1.5MB
36K SLoC

Juniper(Rust 的 GraphQL 服务器库)

Crates.io Documentation CI Rust 1.65+

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

Juniper 使得在 Rust 中编写类型安全且速度极快的 GraphQL 服务器成为可能。我们还尝试使声明和解析 GraphQL 模式尽可能方便,因为 Rust 允许这样做。

Juniper 不包括 Web 服务器 - 而是提供构建块,使与现有服务器的集成变得简单,包括嵌入式 GraphiQL 和/或 GraphQL Playground,以方便调试。

入门

开始学习最佳的地方是 Juniper Book,其中包含了大量的示例和指南,涵盖了Juniper的所有功能。

为了快速上手并了解Juniper,请查看“快速入门”部分

有关宏、类型和Juniper API的具体信息,最好的地方是查看API文档

功能

Juniper支持根据2021年10月GraphQL规范的完整GraphQL查询语言,包括接口、联合类型、模式内省和验证。然而,它不支持模式语言。

与其他语言的GraphQL库不同,Juniper默认构建非null类型。类型为Vec<Episode>的字段将被转换为[Episode!]!。例如,与[Episode]对应的Rust类型将是Option<Vec<Option<Episode>>>

集成

数据类型

Juniper与一些非常常见的Rust crate自动集成,使构建模式变得轻而易举。这些crate中的类型将自动可用于您的模式中

Web服务器

API稳定性

Juniper尚未达到1.0版本,因此应预料到一些API不稳定。

许可证

本项目采用BSD 2-Clause License授权。

依赖项

~8–16MB
~234K SLoC