1
0
mirror of https://github.com/actix/examples synced 2024-11-23 22:41:07 +01:00
examples/graphql/juniper
2024-08-07 02:04:57 +01:00
..
src refactor: use graduated Html responder 2024-07-07 00:23:03 +01:00
Cargo.toml refactor: use confik instead of config 2024-07-07 02:01:13 +01:00
README.md chore: fmt 2024-08-07 02:04:57 +01:00

GraphQL using Juniper

Juniper integration for Actix Web. If you want more advanced example, see also the juniper-advanced example.

Usage

Server

cd graphql/juniper
cargo run

Web Client

Go to http://localhost:8080/graphiql in your browser.

Query example:

{
  human(id: "1234") {
    name
    appearsIn
    homePlanet
  }
}

Result:

{
  "data": {
    "human": {
      "name": "Luke",
      "appearsIn": ["NEW_HOPE"],
      "homePlanet": "Mars"
    }
  }
}

Mutation example:

mutation {
  createHuman(newHuman: { name: "Fresh Kid Ice", appearsIn: EMPIRE, homePlanet: "earth" }) {
    id
    name
    appearsIn
    homePlanet
  }
}

Result:

{
  "data": {
    "createHuman": {
      "id": "1234",
      "name": "Fresh Kid Ice",
      "appearsIn": ["EMPIRE"],
      "homePlanet": "earth"
    }
  }
}