首页 > 代码库 > [GraphQL] Deploy a GraphQL dev playground with graphql-up
[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.
[GraphQL] Deploy a GraphQL dev playground with graphql-up
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。