博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
3分钟了解GraphQL
阅读量:7222 次
发布时间:2019-06-29

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

GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。

一个 GraphQL 服务运行起来(通常在 web 服务的一个 URL 上),它就能接收 GraphQL 查询,并验证和执行。接收到的查询首先会被检查确保它只引用了已定义的类型和字段,然后运行指定的解析函数来生成结果。

我们以一个非常简单的查询以及其结果为例:

当我们想要查询hero对象的姓名这个属性的时候只需要在查询把对象结构通过JSON关系表示出来,后台就能反馈给我们需要的数据。查询和其结果拥有几乎一样的结构。这是 GraphQL 最重要的特性,因为这样一来,你就总是能得到你想要的数据,而服务器也准确地知道客户端请求的字段。 上述查询是可交互的。也就是你可以按你喜欢来改变查询,然后看看新的结果。

新技术的产生必定伴随着旧问题的解决,之前的开发过程中遇到过这样的一种问题:以Spring-Data-JPA对象化查询,当需要查询相互关联的对象中的某几个属性的时候,没法很好的控制,只能把所有的属性全部查询出来,并且查询到到的数据结构需要经过进一步的加工才能得到自己需要的数据结构。

转载于:https://juejin.im/post/5bcfd3586fb9a05d07197f6f

你可能感兴趣的文章
hadoop: hbase1.0.1.1 伪分布安装
查看>>
使用FIR.im发布自己的移动端APP
查看>>
WPF入门教程系列七——布局之WrapPanel与StackPanel(二)
查看>>
变量 - PHP手册笔记
查看>>
storm遇到问题汇总
查看>>
设置cookies第二天0点过期
查看>>
使用Topshelf创建Windows服务
查看>>
cdoj915-方老师的分身 II (长度不小于k的最短路)【spfa】
查看>>
ntpdate公司测试
查看>>
.NET破解之轻量万能自定义信息管理系统
查看>>
阻止form表单提交的问题
查看>>
ASP.NET MVC验证 - 自定义验证规则、验证2个属性值不等【待验证】
查看>>
Android blueZ HCI(一个):hciconfig实施和经常使用
查看>>
微信公众号怎么推送消息_微信公众号发送消息
查看>>
电商指尖---(9).net发展Solr中间Facet特征
查看>>
SQList3 and SQL入门学习笔记
查看>>
jQuery 找到当前元素之前最后一次出现的某个同辈元素
查看>>
我如何调优SQL Server查询
查看>>
读取文档数据的各列的每行中
查看>>
Android - 警告:it is always overridden by the value specified in the Gradle build script
查看>>