• 使用输入和枚举类型


    使用输入和枚举类型

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

    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对象为定制标量创建解析器

  • 相关阅读:
    MariaDB:SSL配置
    JDBC连接MariaDB:数据传输加密
    海康JAVA SDK库动态路径加载
    druid:java代码创建连接池
    webservice:com.sun.xml.internal.ws.server.ServerRtException: [failed to localize]
    RabbitMQ:MSVCR120.dll ,c000001d 错误
    mariadb:分区自动创建与删除
    前-后 分离 01
    03 注解开发
    02
  • 原文地址:https://www.cnblogs.com/liuxiaokun/p/12676812.html
Copyright © 2020-2023  润新知