1
- <img src =" https://github.com/graphql-rust/juniper/blob/master/assets/logo/juniper-dark-word.png " alt =" Juniper " width =" 500 " />
2
-
1
+ <img src =" https://github.com/graphql-rust/juniper/raw/master/assets/logo/juniper-dark-word.png " alt =" Juniper " width =" 500 " />
3
2
4
3
> GraphQL server library for Rust
5
4
6
5
[ ![ Build Status] ( https://travis-ci.org/graphql-rust/juniper.svg?branch=master )] ( https://travis-ci.org/graphql-rust/juniper )
7
- [ ![ Build status ] ( https://ci.appveyor .com/api/projects/ status/xav6tor6biu617uu?svg=true )] ( https://ci.appveyor .com/project/theduke/juniper )
6
+ [ ![ Build Status ] ( https://dev.azure .com/graphql-rust/GraphQL%20Rust/_apis/build/ status/graphql-rust.juniper )] ( https://dev.azure .com/graphql-rust/GraphQL%20Rust/_build/latest?definitionId=1 )
8
7
[ ![ codecov] ( https://codecov.io/gh/graphql-rust/juniper/branch/master/graph/badge.svg )] ( https://codecov.io/gh/graphql-rust/juniper )
9
8
[ ![ Crates.io] ( https://img.shields.io/crates/v/juniper.svg?maxAge=2592000 )] ( https://crates.io/crates/juniper )
10
9
[ ![ Gitter chat] ( https://badges.gitter.im/juniper-graphql/gitter.png )] ( https://gitter.im/juniper-graphql )
11
10
12
-
13
11
---
14
12
15
13
[ GraphQL] [ graphql ] is a data query language developed by Facebook intended to
16
- serve mobile and web application frontends.
14
+ serve mobile and web application frontends.
17
15
18
- * Juniper * makes it possible to write GraphQL servers in Rust that are
19
- type-safe and blazingly fast. We also try to make declaring and resolving
16
+ _ Juniper _ makes it possible to write GraphQL servers in Rust that are
17
+ type-safe and blazingly fast. We also try to make declaring and resolving
20
18
GraphQL schemas as convenient as possible as Rust will allow.
21
19
22
20
Juniper does not include a web server - instead it provides building blocks to
23
21
make integration with existing servers straightforward. It optionally provides a
24
- pre-built integration for the [ Iron] [ iron ] and [ Rocket ] frameworks, including
22
+ pre-built integration for the [ Hyper ] [ hyper ] , [ Iron] [ iron ] , [ Rocket ] , and [ Warp ] [ warp ] frameworks, including
25
23
embedded [ Graphiql] [ graphiql ] for easy debugging.
26
24
27
- * [ Cargo crate] ( https://crates.io/crates/juniper )
28
- * [ API Reference] [ docsrs ]
29
- * [ Book] [ book ] : Guides and Examples
30
-
25
+ - [ Cargo crate] ( https://crates.io/crates/juniper )
26
+ - [ API Reference] [ docsrs ]
27
+ - [ Book] [ book ] : Guides and Examples
31
28
32
29
## Getting Started
33
30
34
- The best place to get started is the [ Juniper Book] [ book ] , which contains
31
+ The best place to get started is the [ Juniper Book] [ book ] , which contains
35
32
guides with plenty of examples, covering all features of Juniper. (very much WIP)
36
33
37
- To get started quickly and get a feel for Juniper, check out the
34
+ To get started quickly and get a feel for Juniper, check out the
38
35
[ Quickstart] [ book_quickstart ] section.
39
36
40
- For specific information about macros, types and the Juniper api, the
37
+ For specific information about macros, types and the Juniper api, the
41
38
[ API Reference] [ docsrs ] is the best place to look.
42
39
43
40
You can also check out [ src/tests/schema.rs] [ test_schema_rs ] to see a complex
44
- schema including polymorphism with traits and interfaces.
45
- For an example of web framework integration,
46
- see the [ rocket] [ rocket_examples ] and [ iron] [ iron_examples ] examples folders.
47
-
41
+ schema including polymorphism with traits and interfaces.
42
+ For an example of web framework integration,
43
+ see the [ hyper] [ hyper_examples ] , [ rocket] [ rocket_examples ] , [ iron] [ iron_examples ] , and [ warp] [ warp_examples ] examples folders.
48
44
49
45
## Features
50
46
51
47
Juniper supports the full GraphQL query language according to the
52
- [ specification] [ graphql_spec ] , including interfaces, unions, schema
53
- introspection, and validations.
48
+ [ specification] [ graphql_spec ] , including interfaces, unions, schema
49
+ introspection, and validations.
54
50
It does not, however, support the schema language.
55
51
56
52
As an exception to other GraphQL libraries for other languages, Juniper builds
@@ -66,19 +62,20 @@ Juniper has automatic integration with some very common Rust crates to make
66
62
building schemas a breeze. The types from these crates will be usable in
67
63
your Schemas automatically.
68
64
69
- * [ uuid] [ uuid ]
70
- * [ url] [ url ]
71
- * [ chrono] [ chrono ]
65
+ - [ uuid] [ uuid ]
66
+ - [ url] [ url ]
67
+ - [ chrono] [ chrono ]
72
68
73
69
### Web Frameworks
74
70
75
- * [ rocket] [ rocket ]
76
- * [ iron] [ iron ]
71
+ - [ hyper] [ hyper ]
72
+ - [ rocket] [ rocket ]
73
+ - [ iron] [ iron ]
74
+ - [ warp] [ warp ]
77
75
78
76
## Guides & Examples
79
77
80
- * [ Juniper + actix-web example] ( https://github.com/actix/examples/tree/master/juniper )
81
-
78
+ - [ Juniper + actix-web example] ( https://github.com/actix/examples/tree/master/juniper )
82
79
83
80
## API Stability
84
81
@@ -90,14 +87,16 @@ Juniper has not reached 1.0 yet, thus some API instability should be expected.
90
87
[ graphql_spec ] : http://facebook.github.io/graphql
91
88
[ test_schema_rs ] : https://github.com/graphql-rust/juniper/blob/master/juniper/src/tests/schema.rs
92
89
[ tokio ] : https://github.com/tokio-rs/tokio
90
+ [ hyper_examples ] : https://github.com/graphql-rust/juniper/tree/master/juniper_hyper/examples
93
91
[ rocket_examples ] : https://github.com/graphql-rust/juniper/tree/master/juniper_rocket/examples
94
92
[ iron_examples ] : https://github.com/graphql-rust/juniper/tree/master/juniper_iron/examples
95
- [ Rocket ] : https://rocket.rs
93
+ [ hyper ] : https://hyper.rs
94
+ [ rocket ] : https://rocket.rs
96
95
[ book ] : https://graphql-rust.github.io
97
96
[ book_quickstart ] : https://graphql-rust.github.io/quickstart.html
98
97
[ docsrs ] : https://docs.rs/juniper
99
-
98
+ [ warp ] : https://github.com/seanmonstar/warp
99
+ [ warp_examples ] : https://github.com/graphql-rust/juniper/tree/master/juniper_warp/examples
100
100
[ uuid ] : https://crates.io/crates/uuid
101
101
[ url ] : https://crates.io/crates/url
102
102
[ chrono ] : https://crates.io/crates/chrono
103
-
0 commit comments