Android视角学些GraphQL

本文通过类比安卓开发方式,详细解析GraphQL的查询与变更机制,包括字段类型、输入对象、接口、别名、片段、操作名称、变量、指令、变更、内联片段、元字段、验证、执行和内省等概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天学习一下GraphQL,可以用来查询数据库,根据我们请求的格式返回结果.目前接口请求使用这种方式来拿结果,学习一个新的语言或者方法,我通常采用类比的方式,用自己熟悉的语言去理解他.下面我用安卓中熟悉的方式来解读一下,GraphQL文档.

查询和变更

  1. 字段类型:标量(基本数据类型,不可以继续向下解析)/枚举/Character/Interface/数组
  2. 输入对象:变更时传入的类型,相当于我们上传一个表单的类型
  3. 接口(继承,多态):可以走继承,请求子类的具体值
  4. 别名:相同类型,为了作比较,需要定义不同的名称.
  5. 片段(类型的抽取):这样我们可以查询类型相同,值不相同的数据,赋给不同的对象.
  6. 操作名称:根据操作类型graphql可以知道是哪种操作,就像数据库的增,删,改,查一样.操作名称是为了方便我们通过名称一目了然,知道这个查询是用来干啥的,也可以在出现问题的时候快速定位.
  7. 变量:跟在操作名称后面,就像我们方法中的变量一样,可以传不同的值,查询不同的结果.
  8. 指令:类似于if/else 通过一些boolean值来判断是否请求响应的数据.
  9. 变更(mutation):相当于我们提交给服务器一条数据,用来更新或者添加,之后还可以查询这条数据变更后的结果.
  10. 内联片段:相当于多态,他们有共同的父类,但是又有自己的属性,通过类型,请求不同的字段.
  11. 元字段:相当于switch/case,根据不同的值查询不同的结果.

验证:相当于语法检测,可以告诉我们书写是否规范,报错提示具体位置

执行:更好的讲解了graphql的执行过程,异步解析器,执行结束的节点为标量,以及返回的格式类型.

内省:感觉就像是java中的反射,可以看到一个类包含哪些字段.

简单整理一下,希望可以帮助大家更好的理解.

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值