1
0
mirror of https://github.com/actix/examples synced 2024-12-18 00:13:57 +01:00
examples/graphql/juniper
2023-01-02 20:35:11 +00:00
..
src add session ttl customization example 2022-08-28 18:39:28 +01:00
Cargo.toml move serde deps to workspace 2023-01-02 20:35:11 +00:00
README.md format markdown 2022-03-06 00:43:10 +00: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"
    }
  }
}