• 使用输入和枚举类型


    使用输入和枚举类型

    利用输入类型,我们提高了传递给变更参数的复用性,同时也不容易出错。当把输入类型和枚举类型结合起来时,我们可以更具体地说明可以提供给特定字段的输入类型。输入类型和枚举类型非常好用,结合在一起使用更能起到事半功倍的效果。

    image

    • 用新的输入类型运行变更

    image

    还需要在Query Variables面板中发送相应的JSON:

    image

    如果并未提供category字段,则默认为PORTRAIT。或者说,如果我们提供了category值,那么它将在操作发送到服务器之前进行枚举类型验证。如果有效,则将其作为参数传递给解析器。

    • 一对多连接

    因为连接是使用对象类型的字段创建的,所以它们可以映射到解析器函数。在这些函数中,我们可以利用parent参数来确定并返回连接的数据。

    image

    • 多对多连接

    image

    GraphQL不要求数据模型和schema中的类型精确匹配。

    自定义标量

    GraphQL有其默认的标量类型,可用于任何字段。像Int、Float、String、Boolean和ID这样的标量适用于大多数情况,但也确实存在需要创建自定义标量类型来满足数据要求的情况。

    自定义DateTime标量添加到我们的typeDefs中,并在创建字段的Photo类型中使用它。created字段用于存储特定照片的发布日期和时间:

    image

    schema中的每个字段都需要映射到一个解析器。自定义的类型当然也需要映射到DateTime类型解析器。我们为DateTime创建了一个自定义标量类型,因为我们想要解析和验证使用此标量作为JavaScript Date类型的任何字段。

    因为以字符串来表示日期和时间的格式很多。比如下面这些字符串都代表了有效日期:●“4/18/2018”●“4/18/20181:30:00 PM” ●“Sun Apr 15201812:10:17 GMT-0700(PDT)” ●“2018-04-15T19:09:57.308Z” 我们可以使用这些字符串中的任何一个来创建datetime对象:

    image

    我们使用GraphQLScalarType对象为定制标量创建解析器

  • 相关阅读:
    sublime显示当前文件的编码格式
    关于jquery中html()、text()、val()的区别
    bit,Byte,B,KB,MB,GB
    python之序列操作
    编程常用密匙
    js数组操作
    ob函数的使用
    php使用zlib实现gzip压缩
    js兼容性汇总
    centos7下源码编译安装mysql5.7
  • 原文地址:https://www.cnblogs.com/liuxiaokun/p/12676812.html
Copyright © 2020-2023  润新知