17个版本

0.7.6 2022年2月2日
0.7.4 2021年6月8日
0.7.2 2021年1月28日
0.7.0 2020年12月10日
0.1.1 2017年12月3日

#1244 in HTTP服务器

Download history 11/week @ 2024-03-10 34/week @ 2024-03-17 17/week @ 2024-03-24 55/week @ 2024-03-31 2/week @ 2024-04-07 5/week @ 2024-04-14 8/week @ 2024-04-21 5/week @ 2024-04-28 1/week @ 2024-05-19 43/week @ 2024-05-26 17/week @ 2024-06-02 16/week @ 2024-06-09 21/week @ 2024-06-16 35/week @ 2024-06-23

每月90次下载

BSD-2-Clause

1.5MB
36K SLoC

juniper_iron

此仓库包含Iron Web框架集成,用于Juniper,这是一个针对Rust的GraphQL实现。

有关文档,包括指南和示例,请参阅Juniper

基本使用示例也可以在Api文档中找到。

示例

请检查examples/iron_server.rs以获取具有GraphQL处理器的Iron服务器的工作示例代码。

许可证

本项目采用BSD-2许可证。

请查看LICENSE文件以获取详细信息。


lib.rs:

juniper_iron

此仓库包含Iron Web框架集成,用于Juniper,这是一个针对Rust的GraphQL实现。

有关文档,包括指南和示例,请参阅Juniper

基本使用示例也可以在Api文档中找到。

与Iron集成

例如,从上面创建的模式继续使用Iron在支持GET和POST请求的HTTP端点公开模式

#
use iron::prelude::*;
use juniper_iron::GraphQLHandler;
use juniper::{Context, EmptyMutation, EmptySubscription};
#
#
#
#
#
#

// This function is executed for every request. Here, we would realistically
// provide a database connection or similar. For this example, we'll be
// creating the database from scratch.
fn context_factory(_: &mut Request) -> IronResult<Database> {
Ok(Database {
users: vec![
( "1000".to_owned(), User {
id: "1000".to_owned(), name: "Robin".to_owned(),
friend_ids: vec!["1001".to_owned()] } ),
( "1001".to_owned(), User {
id: "1001".to_owned(), name: "Max".to_owned(),
friend_ids: vec!["1000".to_owned()] } ),
].into_iter().collect()
})
}

impl Context for Database {}

fn main() {
// GraphQLHandler takes a context factory function, the root object,
// and the mutation object. If we don't have any mutations to expose, we
// can use the empty tuple () to indicate absence.
let graphql_endpoint = GraphQLHandler::new(
context_factory,
QueryRoot,
EmptyMutation::<Database>::new(),
EmptySubscription::<Database>::new(),
);

// Start serving the schema at the root on port 8080.
Iron::new(graphql_endpoint).http("localhost:8080").unwrap();
}

有关支持哪些请求方法的更多信息,请参阅GraphQLHandler文档。

依赖项

~11MB
~226K SLoC