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 每月下载量
35KB
785 行
finchers-juniper
一组用于集成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