博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GraphQL 渐进学习 01-GraphQL-快速上手
阅读量:5796 次
发布时间:2019-06-18

本文共 1074 字,大约阅读时间需要 3 分钟。

01-GraphQL-快速上手

目标

  • 创建一个 Node Express GraphQL server
  • 采用可视化 GraphiQL IDE 进行测试

代码

创建一个 node 项目

mkdir graphql-examplecd graphql-examplenpm init

安装依赖包

npm install --save apollo-server-express graphql-tools graphql express body-parser

运行官方示例

为了突出关键点,省略完整代码

完整代码移步

1 创建文件 quick-start.js

vi quick-start.js

2 定义数据结构

// GraphQL schemaconst typeDefs = `  type Query { books: [Book] }  type Book { title: String, author: String }`

3 定义处理函数

// resolversconst resolvers = {  Query: {books: () => books}}

4 合并定义

const schema = makeExecutableSchema({  typeDefs,  resolvers})

5 路由 GraphQL 数据服务

app.use('/graphql', bodyParser.json(), graphqlExpress({schema}))

6 路由 GraphIQL IDE

app.use('/graphiql', graphiqlExpress({endpointURL: '/graphql'}))

运行

启动服务

node quick-start.js

npm script

运行 GraphiQL IDE 编辑器

输入网址

GraphiQL IDE

你可以试着改变查询条件
{  books {    title    author  }}

与服务器通讯

抓包看看

GraphQL Request

  • URL 是代码中定义的路由 Request URL: http://localhost:3000/graphql?
  • GraphiQL IDE 默认用 POST 方式
  • 请求数据体
{  "query": "{\n  books {\n    title\n    author\n  }\n}\n",  "variables": null,  "operationName": null}
query 查询体
variables 参数
operationName 操作名称

参考

转载地址:http://rabfx.baihongyu.com/

你可能感兴趣的文章
CentOS 7 装vim遇到的问题和解决方法
查看>>
JavaScript基础教程1-20160612
查看>>
解析数据库xml格式字段
查看>>
[转]实现双网卡局域网和广域网同时上网
查看>>
django项目配置
查看>>
使用第三方类、库需要注意的正则类RegexKitLite的使用
查看>>
iOS \U7ea2 乱码 转换
查看>>
vue全家桶(vue2.x+vue-router+axios+webpack)项目搭建
查看>>
FCN图像分割
查看>>
ios xmpp demo
查看>>
设计模式之-工厂模式、构造函数模式
查看>>
python matplotlib 中文显示参数设置
查看>>
数据库事务隔离级别
查看>>
os模块大全详情
查看>>
【ros】Create a ROS package:package dependencies报错
查看>>
Jquery 滚动条到底部
查看>>
高等代数 北大版 Page 17 推论 证明
查看>>
从内积的观点来看线性方程组
查看>>
kali linux 更新问题
查看>>
ubuntu下安装.deb包的安装方法
查看>>