GraphQL : 比restful 更加灵活的 数据查询框架
来源:互联网 发布:origin多组数据作图 编辑:程序博客网 时间:2024/06/05 03:51
REST API 有什么问题?
首要问题就是扩展性方面,随着 API 的不断发展,会变得越来越臃肿
REST API 的方式是:server定义一系列的接口,client调用自己需要的接口,获取目标数据进行整合
例如用户接口,刚开始时,返回的信息会比较少,例如只有 id,name
后来用户的信息增加了,就在用户接口中返回更多的信息,例如 id,name,age,city,addr,email,headimage,nick
但可能很多client只是想获取其中少部分信息,如 name,headimage,却必须得到所有的用户信息,然后从中提取自己想要的
这个情况会增加网络传输量,并且不便于client处理数据
还有一个不方便的地方,例如client在某个需求中,可能需要调用多个独立的 API 才能获取到足够的数据
例如client要显示一篇文章的内容,同时要显示评论、作者信息,那么就可能需要调用文章接口、评论接口、用户接口
这种方式非常不灵活
GitHub 还遇到其他一些 REST API 不好处理的问题,例如
想要确保client提供的参数的类型安全;想要从代码生成文档;想要识别每个端点的OAuth请求范围 ……
使用 GraphQL 有什么好处?
GraphQL 简单来说就是:取哪些数据是由client来决定
REST 中,给哪些数据是server决定的,client只能从中挑选,如果A接口中的数据不够,再请求B接口,然后从他们返回的数据中挑出自己需要的
GraphQL 中,client 直接对 server说想要什么数据,server负责精确的返回目标数据
0 0
- GraphQL : 比restful 更加灵活的 数据查询框架
- Dreamer 框架 比Struts2 更加灵活
- onScreenHint,一个比toast更加灵活的提示类
- GraphQL初探:从REST到GraphQL,更完善的数据查询定义
- 《GraphQL 名词 101:解析 GraphQL 的查询语法》【译】
- 新一代数据查询语言GraphQL来啦!
- 新一代数据查询语言GraphQL来啦
- 数据分页控件 ━ 更加灵活,更加实用-提供源码
- Xqk.Data数据框架开发指南:丰富的、灵活的查询方法(第一部分)
- Xqk.Data数据框架开发指南:丰富的、灵活的查询方法(第三部分:SqlField)
- graphql学习(二)Restful API的初步认识
- 大数据灵活查询的一个思路
- 如何创建更加灵活的App
- 利用runtime实现更加灵活的KVC
- 更加灵活开放的地图制图方式
- 数据查询、对象拓扑关系判定的灵活运用
- Xqk.Data数据框架开发指南:丰富的、灵活的查询方法(第二部分:适应不同数据库系统的查询)
- 【干货】再上数据分页控件 ━ 更加灵活,更加实用-提供源码
- 数据库水平切分的实现原理解析——分库,分表,主从,集群,负载均衡器(转)
- MVC(三、Razor视图引擎)
- iperf测试网络吞量
- ue4-HUD绘制UI(C++)
- CGContextAddArcToPoint和CGContextAddArc
- GraphQL : 比restful 更加灵活的 数据查询框架
- android JobService相关源码分析
- 中国省市区县行政编码处理(转存在到数据库)
- nginx+keepalived+proxy_cache配置高可用nginx群集和高速缓存
- ue4-UMG和HUD绘制UI
- Windows 安装homeassistant
- 使用Mybatis中需要注意的一些点
- 1024. Palindromic Number
- React-Native For Android架构初探