zoukankan      html  css  js  c++  java
  • [GraphQL] Deploy a GraphQL dev playground with graphql-up

    In this lesson we'll use a simple GraphQL IDL schema to deploy and explore a fully functional GraphQL service in minutes with graphql-up.

    Install:

    npm i -g graphql-up -g

    Create schema:

    type Person {
        id: ID!,
        name: String!,
        tasks: [Task!]! @relation(name: "PersonTask")
    }
    
    type Task {
        id: ID!,
        description: String!
        person: Person @relation(name: "PersonTask")
    }

    Run:

    graphql-up tasks.schema

    It will generate two url for use, just grap one. It will open graphcool.

    We can query the data:

    {
        allPersons {
        id,
        name,
        tasks {
          id,
          description
        }
      }
    }

    We won't get any, because we haven't create anything.

    Create some mock data:

    mutation {
      createPerson(name:"Zhentian") {
        id,
        name
      }
    }
    
    // get back
      "data": {
        "createPerson": {
          "id": "cj2t31akybh3g01184klolj0t",
          "name": "Zhentian"
        }
      }
    }

    Now if query again:

    {
      allPersons {
        id,
        name,
        tasks {
          id,
          description
        }
      }
    }
    
    // get back
    
      "data": {
        "allPersons": [
          {
            "id": "cj2t31akybh3g01184klolj0t",
            "name": "Zhentian",
            "tasks": []
          }
        ]
      }
    }

    Create data for task:

    mutation {
      createTask(description: "Learn GraphQL", personId: "cj2t31akybh3g01184klolj0t") {
        id,
        description
      }
    }
    
    // get back
      "data": {
        "createTask": {
          "id": "cj2t37fo7kizn0102kf9otzh5",
          "description": "Learn GraphQL"
        }
      }
    }

    When we do the query again:

    {
      allPersons {
        id,
        name,
        tasks {
          id,
          description
        }
      }
    }
    
    // get back
    
      "data": {
        "allPersons": [
          {
            "id": "cj2t31akybh3g01184klolj0t",
            "name": "Zhentian",
            "tasks": [
              {
                "id": "cj2t37fo7kizn0102kf9otzh5",
                "description": "Learn GraphQL"
              }
            ]
          }
        ]
      }
    }

    Create Task and Person in same mutation:

    mutation {
      createPerson(name:"Wan", tasks:[
        {description: "Learn Recompose"},
        {description: "Learn SCSS"}
      ]) {
        id,
        name
      }
    }

    After done with playground, can click "Generate code". Select Node env:

    Install:

    npm install lokka lokka-transport-http --save

    Copy the code to index.js file, we should be able to run the code and get data back.

  • 相关阅读:
    单机安装nginx
    单机安装hdfs
    单机安装postgresql
    cookie和session
    zookeeper的学习笔记
    java的反射和代理
    spring boot配置404 和 500错误页面跳转
    react + ant Upload前端解析excel文件后时间解析为数字转化回日期格式
    Chrome浏览器手动添加Cookie
    实现table列拖拽插件(colResizable)
  • 原文地址:https://www.cnblogs.com/Answer1215/p/6869972.html
Copyright © 2011-2022 走看看