37个版本
0.16.1 | 2024年4月4日 |
---|---|
0.16.0 | 2024年3月20日 |
0.15.12 | 2024年1月2日 |
0.15.11 | 2023年1月31日 |
0.5.2 | 2016年11月13日 |
#30 in 异步
44,554 每月下载量
用于 82 个crate(72直接)
1.5MB
37K SLoC
Juniper(Rust的GraphQL服务器库)
GraphQL 是由 Facebook 开发的数据查询语言,旨在为移动和Web应用程序前端提供服务。
Juniper 使您能够以类型安全和极快的速度在 Rust 中编写 GraphQL 服务器。我们还努力使声明和解决 GraphQL 模式尽可能方便。
Juniper 不包含Web服务器,而是提供构建块以简化与现有服务器的集成,包括内嵌的 GraphiQL 和/或 GraphQL Playground 以便于调试。
入门
开始的最佳地方是Juniper 书籍,其中包含大量示例的指南,涵盖了Juniper的所有功能。
为了快速开始并了解 Juniper,请查看“快速入门”部分。
有关宏、类型和Juniper API的具体信息,API 文档是查找的最佳位置。
功能
Juniper支持根据2021年10月GraphQL规范的完整GraphQL查询语言,包括接口、联合、模式内省和验证。但是,它不支持模式语言。
与其他语言的GraphQL库不同,Juniper默认构建非null
类型。类型为Vec<Episode>
的字段将被转换为[Episode!]!
。例如,对应的 Rust 类型为Option<Vec<Option<Episode>>>
。
集成
类型
Juniper提供了一些非常常见的Rust包的即插即用集成,使构建模式变得轻而易举。在启用相应的同名Cargo功能后,这些包中的类型将可以自动用于您的模式中
Web 服务器框架
actix-web
(juniper_actix
包)axum
(juniper_axum
包)hyper
(juniper_hyper
包)rocket
(juniper_rocket
包)warp
(juniper_warp
包)
API 稳定性
Juniper尚未达到1.0版本,因此应预期API存在一定的不稳定性。
许可证
本项目受BSD 2-Clause License许可。
依赖关系
~3–12MB
~160K SLoC