GraphQL 入门第一篇
GraphQL 入门
在接下来的一系列文章中,我们会了解 GraphQL 是什么,它是如何运作以及如何使用它。在找如何搭建 GraphQL 服务的文档?这有一些类库可以帮你用多种不同语言实现 GraphQL。通过实用教程深入学习体验,请访问 How to GraphQL 全栈教程网站。我们还与 edX 合作创建了免费的在线课程,探索 GraphQL:一种用于 API 的查询语言。
GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。
一个 GraphQL 服务是通过定义类型和类型上的字段来创建的,然后给每个类型上的每个字段提供解析函数。例如,一个 GraphQL 服务告诉我们当前登录用户是 me
,这个用户的名称可能像这样:
type Query {me: User }type User {id: IDname: String }
一并的还有每个类型上字段的解析函数:
function Query_me(request) {return request.auth.user; }function User_name(user) {return user.getName(); }
一旦一个 GraphQL 服务运行起来(通常在 web 服务的一个 URL 上),它就能接收 GraphQL 查询,并验证和执行。接收到的查询首先会被检查确保它只引用了已定义的类型和字段,然后运行指定的解析函数来生成结果。
例如这个查询:
{me {name} }
会产生这样的JSON结果:
{"me": {"name": "Luke Skywalker"} }
在这系列文章中,我们会学习更多关于 GraphQL 的知识,包括查询语言、类型系统、GraphQL 服务的工作原理以及使用 GraphQL 解决常见问题的最佳实践。
GraphQL 入门第一篇相关推荐
- GraphQL实战-第一篇-GraphQL介绍
GraphQL实战-第一篇-GraphQL介绍 GraphQL的前世今生 Facebook的业务线有移动端,PC端和其它端,不同的场景下对一个资源所需要的信息是不同的.如移动端需要User的a.b.c ...
- ElasticSearch入门 第一篇:Windows下安装ElasticSearch
这是ElasticSearch 2.4 版本系列的第一篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...
- Redis入门第一篇【介绍、安装】
tags: Redis title: Redis入门第一篇[介绍.安装] 为什么要用Redis 我对Redis的简单理解:Redis相信学JavaEE的同学都听过这个名词,它是一个缓存数据库. Red ...
- ps基础教程新手入门第一篇:ps界面的介绍
欢迎来到慕恬瑶平面设计,今天给大家介绍PS基础教程新手入门第一篇: ps界面的介绍.目的让第一次接触ps的小伙伴通过ps基础教程新手入门来了解ps界面的菜单栏,工具栏已方便日后使用. 首先,打开PS ...
- SDN入门第一篇——Ubuntu16.04安装mininet-wifi
SDN入门第一篇--Ubuntu16.04安装mininet-wifi 最近因为项目需要,需要使用mininet搭建SDN仿真平台,mininet-wifi除了包含基本的mininet功能之外还包括引 ...
- kaggle新手入门第一篇——Titanic
Titanic作为Kaggle官方网站的第一篇入门比赛,如果你想学习kaggle,那么从它开始无疑是比较好的一个选择. 首先贴一下网址:https://www.kaggle.com/c/titanic ...
- GraphQL入门基础篇教程
历史 GraphQL是由Facebook创造的. 当时,Facebook想在移动端实现新闻推送,这不像检索一个故事.作者.故事的内容.评论列表和喜欢该文章的人这么简单,而是每个故事都相互 ...
- Android JNI入门第一篇——HelloJni
android支持使用NDK开发C程序,关于配置NDK环境问题应该不用再赘述了,这个网上有很多,这里通过一篇实例来讲述简单的JNI开发,大家可以参考这篇文章(Get Your Eclipse-Inte ...
- ebs开发入门 oracle 知乎_微信小程序云开发入门第一篇---开发准备事项
在开始本文的正式内容之前,先允许我做一个简单的自我介绍,我是一名嵌入式软件开发人员,目前在一家音视频处理芯片公司做linux系统下音视频开发的相关工作,算是嵌入式软件开发行业的老人了,如果您对嵌入式行 ...
最新文章
- Web开发人员必读的12个网站
- 我怎样才能参加比特币现金9月1日压力测试?
- Window Mobile SmartPhone智能手机软件开发vs2005 简体中文版 设置指南!
- loadrunner目录分析
- 已解决:Windows下Anaconda3卸载+下载+安装教程+tensorflow+keras+jupyternotebook
- 160个Crackme031之一元二次方程
- web第五章 json
- Android 高级Drawable资源---复合Drawable----状态列表Drawable
- SAP UI5 应用开发教程之五十五 - 如何将本地 SAP UI5 应用通过 Node.js Express 部署到公网上
- java 布隆过滤器_什么是布隆过滤器(Bloom Filter)?
- 第8章 硬盘和显卡的访问与控制
- xamarin怎么调用java的_XamarinSQLite教程在Xamarin.Android项目中使用数据库
- Node 实现 AES 加密,结果输出为“byte”。
- big5码在线转换_【开源】基于 SpringBoot 的 web kettle 在线采集平台
- 自动轨迹绘制的python代码_python 自动轨迹绘制的实例代码
- httpModule一些细节
- python入门基础知识实例-Python入门基础知识实例,
- 【福利派送】高质量AI书籍免费送给大家
- MySql Binlog初识
- [转+]C语言复杂声明
热门文章
- java 中while编译之后_从APK反编译的Java-while循环什么也不做
- appcan+html查看效果,appcan常用的窗口方法
- php 新闻列表,php原生开发新闻站之新闻列表(二)
- python list 去重_Python中对列表list去重
- Second Week: Git与Github的使用
- 一文深入理解协同过滤
- pymysql 写入数据
- webpack打包vue反编译_2020年你必须知道的webpack打包优化方法
- 知识图谱学习笔记-Cypher语句使用
- 开启大数据时代谷歌三篇论文-Mapreduce