博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
初步接触GraphQL
阅读量:6943 次
发布时间:2019-06-27

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

GraphQL

什么是GraphQL

Facebook开源的一个数据查询语言

1、GraphQL是一门语言,有自己的语法,这点和其他编程语言是类似的

2、GraphQL是一个runtime,可以认为它是一个运行在服务器上的可以理解和响应使用GraphQL语言的请求应用程序,类似一个服务端的GraphQL翻译

GraphQL的意义

RESTful Api的弊端随着应用的扩展,被逐渐放大,比如接口调用次数增多,耗时太长。每个接口做单独的开发却又古老而不合时宜。所以GraphQL的出现是为了更好的降低数据之间的网状关系带来的开发复杂度。

如何使用

一个简单的GraphQL的语法案例如下,就是一个输入格式如下(不是JSON

{        user(id: 42) {            firstName            lastName            email        }    }

会被转换成如下输出

{         "data": {             "user": {                 "firstName": "John",                 "lastName": "Doe",                 "email": "john@example.com"             }         }    }

这可以看做是一次请求响应的过程

一个查询定义如下

const queryType = new GraphQLObjectType({         name: 'RootQuery',         fields: {             hello: {             type: GraphQLString,             resolve: () => 'world'         }     }});const mySchema = new GraphQLSchema({     query: queryType});const inputQuery = `{ hello }`graphql(mySchema, inputQuery).then(result => {     console.log('Server Answer :', result.data);});

打印log如下

Server Answer : { hello: 'world' }

GraphQL内置一些基础数据类型,然后可以自定义复杂数据类型,数据类型之间可以互相嵌套和引用,这就可以组成可配置的数据结构

GraphQL是一门强类型的语言,每个字段都必须要要有严格的格式约束

这门语言有很多种编程语言的实现,graphql.js就是其中一种

对于前端而言,最简单的使用过程就是拼接上文的hello这样子的Query,来查询数据

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

你可能感兴趣的文章
Android 之 JNI 开发 详解 - NDK从入门到精通
查看>>
设置ToggleButton、Switch、CheckBox和RadioButton的显示效果
查看>>
EntityManager常用API
查看>>
bower提交自己的类库
查看>>
Swift - 使用CoreLocation实现定位(经纬度、海拔、速度、距离等)
查看>>
Netty 编码解码框架
查看>>
.NET程序员学PHP要注意的坑
查看>>
windows下的fltk之编译以及试运行
查看>>
js提示框
查看>>
为什么关系型数据库不适于Hadoop
查看>>
换种角度解决问题
查看>>
功能测试报告
查看>>
JFinal-Beetl-Shiro(JdbcRealm)-例子
查看>>
跬步之积,以至千里
查看>>
[转]关于java文件读写、字节流、字符流的一点新得
查看>>
常量池、栈、堆的比较
查看>>
centos下载地址
查看>>
php防止模拟请求
查看>>
Javascript 控制 CheckBox 的全选与取消全选
查看>>
推荐编程书记书籍
查看>>