如何在 graphQL 片段中定义可选字段以进行查询
Posted
技术标签:
【中文标题】如何在 graphQL 片段中定义可选字段以进行查询【英文标题】:How to define an optional field in graphQL fragment for query 【发布时间】:2020-07-05 05:20:42 【问题描述】:用于该查询的数据库包含一个文件夹中的一组 YAML 文件。
使用 GatsbyJS 收集这些文件,并可通过 graphQL 请求获得。
并非所有源文件都定义了 label 字段。
是否可以在丢失时为该字段返回默认值或空值?
其实我得到以下错误:
无法查询类型“EngagementsYamlTo”上的字段“标签”。
这是我的查询:
stable: allEngagementsYaml(filter: stable: eq: true, to: )
edges
...engagementNode
unstable: allEngagementsYaml(filter: stable: eq: false)
edges
...engagementNode
fragment engagementNode on EngagementsYamlEdge
node
heading
description
iconClass
stable
to
href
label
【问题讨论】:
【参考方案1】:嗯……这不是查询的问题。
没有源文件有标签字段,因此该架构从未被触及。至少有 1 个带有标签字段的文件将返回有效响应。
澄清了这种情况!
【讨论】:
我可能没有在这里使用“解决”这个词。下一个问题就是如果没有条目具有该字段,如何防止错误? @cook88 是的,你可能是对的,改变了它。以上是关于如何在 graphQL 片段中定义可选字段以进行查询的主要内容,如果未能解决你的问题,请参考以下文章
能够使用相同的字段扩展所有 Apollo/GraphQL 突变。通缉“通用片段”
无法通过 Prisma 在 GraphQL-yoga 中使用片段