7个版本

使用旧的Rust 2015

0.2.1 2018年10月15日
0.2.0 2018年10月9日
0.1.1 2018年10月2日
0.1.0 2018年9月30日

#27 in #juniper

24 每月下载量

MIT/Apache

35KB
785

finchers-juniper

crates.io Docs.rs dependency status Build Status Coverage Status

一组用于集成Juniper端点的扩展。

许可证

MIT许可证Apache许可证2.0版,任选其一。


lib.rs:

一组支持Juniper集成的扩展。

示例

#[macro_use]
extern crate finchers;
extern crate finchers_juniper;
#[macro_use]
extern crate juniper;

use juniper::{EmptyMutation, RootNode};

// The contextual information used when GraphQL query executes.
//
// Typically it contains a connection retrieved from pool
// or credential information extracted from HTTP headers.
struct MyContext {
    // ...
}
impl juniper::Context for MyContext {}

struct Query {}
graphql_object!(Query: MyContext |&self| {
    field apiVersion() -> &str { "1.0" }
    // ...
});

let schema = RootNode::new(
    Query {},
    EmptyMutation::<MyContext>::new(),
);

// An endpoint which acquires a GraphQL context from request.
let fetch_graphql_context =
    endpoint::unit().map(|| MyContext { /* ... */ });

// Build an endpoint which handles GraphQL requests.
let endpoint = path!(@get / "graphql" /)
    .and(fetch_graphql_context)
    .wrap(finchers_juniper::execute::nonblocking(schema));

依赖

~22MB
~433K SLoC