Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
嵌套在可空字段中的GraphQL不可空字段_Graphql_Nullable_Apollo Server - Fatal编程技术网

嵌套在可空字段中的GraphQL不可空字段

嵌套在可空字段中的GraphQL不可空字段,graphql,nullable,apollo-server,Graphql,Nullable,Apollo Server,我有一个返回一组通知的GraphQL查询。“创建者”字段不会出现在每个通知中,这是一个问题,因为它属于“用户”类型,并且用户的“id”字段不可为空。是否可以在可空字段中嵌套不可空字段 { myNotifications { id title message image creator { id full_name } } } 非空字段只有在解析后才会被验证。如果父字段解析为null,则不会解析任何子字段,因此验证永

我有一个返回一组通知的GraphQL查询。“创建者”字段不会出现在每个通知中,这是一个问题,因为它属于“用户”类型,并且用户的“id”字段不可为空。是否可以在可空字段中嵌套不可空字段

{
  myNotifications {
    id
    title
    message
    image
    creator {
      id
      full_name
    }
  }
}

非空字段只有在解析后才会被验证。如果父字段解析为null,则不会解析任何子字段,因此验证永远不会发生。换句话说,如果有一个非空字段,其父字段可以为空,这是非常好的。

谢谢Daniel。我不确定我是否完全清楚(或者我仍然误解)。我希望“用户”类型(上面的“创建者”)具有不可为空的“id”。但是,“通知”类型(上面的“myNotifications”查询返回的数组)可能并不总是有创建者,但在这些情况下,我的解析程序会为“id”返回null,这会引发错误。您是说我需要确保通知的解析程序为“创建者”返回null,而不是其任何子字段?正确,如果
creator
不存在,我希望它为null——它不应该返回一个所有属性都解析为null的对象。@ZacharyRussellHeineman这是我类似的问题: