1
0
mirror of https://github.com/actix/examples synced 2024-11-24 06:43:00 +01:00
examples/graphql/juniper/README.md

78 lines
1.0 KiB
Markdown
Raw Normal View History

2019-12-07 18:59:35 +01:00
# Juniper
2022-02-06 09:25:38 +01:00
[Juniper](https://github.com/graphql-rust/juniper) integration for Actix Web.
If you want more advanced example, see also the [juniper-advanced example].
2021-03-25 21:13:01 +01:00
[juniper-advanced example]: https://github.com/actix/examples/tree/master/graphql/juniper-advanced
2019-12-07 18:59:35 +01:00
## Usage
2022-02-17 21:37:51 +01:00
### Server
2022-02-17 21:37:51 +01:00
```sh
cd graphql/juniper
2022-02-17 21:37:51 +01:00
cargo run
```
2022-02-17 21:37:51 +01:00
### Web Client
2022-02-17 21:37:51 +01:00
Go to <http://localhost:8080/graphiql> in your browser.
2019-12-07 18:59:35 +01:00
_Query example:_
2021-04-26 13:32:32 +02:00
2019-12-07 18:59:35 +01:00
```graphql
{
human(id: "1234") {
name
appearsIn
homePlanet
}
}
```
2021-04-26 13:32:32 +02:00
2019-12-07 18:59:35 +01:00
_Result:_
2021-04-26 13:32:32 +02:00
2019-12-07 18:59:35 +01:00
```json
{
"data": {
"human": {
"name": "Luke",
"appearsIn": [
"NEW_HOPE"
],
"homePlanet": "Mars"
}
}
}
```
_Mutation example:_
```graphql
mutation {
createHuman(newHuman: {name: "Fresh Kid Ice", appearsIn: EMPIRE, homePlanet: "earth"}) {
id
name
appearsIn
homePlanet
}
}
```
_Result:_
2021-04-26 13:32:32 +02:00
2019-12-07 18:59:35 +01:00
```json
{
"data": {
"createHuman": {
"id": "1234",
"name": "Fresh Kid Ice",
"appearsIn": [
"EMPIRE"
],
"homePlanet": "earth"
}
}
}
```