处理 GraphQL 模式中的动态元素

Posted

技术标签:

【中文标题】处理 GraphQL 模式中的动态元素【英文标题】:Handling dynamic elements in GraphQL schema 【发布时间】:2022-01-18 19:51:05 【问题描述】:

我有一个实体列表,该实体有一个基本定义 + 为每个国家/地区添加了可变数量的字段,并且某些国家/地区特定字段可能被标记为必填项。当询问此实体列表时,我想根据模式取回数据,该模式由国家字段(基本定义的一部分)决定。同样,在持久化数据时,我希望应用正确的实体架构。

如何使用 graphql 进行建模?

谢谢, 伊恩

【问题讨论】:

【参考方案1】:

你可以使用interfaces。

类似这样的:

interface Entity 
   [ADD YOUR COMMON FIELDS HERE]


type SpanishEntity implements Entity 
    [ADD YOUR COMMON FIELDS HERE + THE FIELDS REQUIRED FOR SPAIN]


type FrenchEntity implements Entity 
    [ADD YOUR COMMON FIELDS HERE + THE FIELDS REQUIRED FOR FRANCE]

【讨论】:

以上是关于处理 GraphQL 模式中的动态元素的主要内容,如果未能解决你的问题,请参考以下文章

我们如何从 GraphQL 的 RequestContextHolder 获取 GraphQL 的 HttpServletRequest(DefaultGlobalContext)(使用 graphq

Apollo GraphQL:用于查询返回不同类型对象的模式?

将 TypeORM 实体模型类与 NestJS-GraphQL 模式类型结合使用好吗?

如何对graphQL中的字段进行运行时数据操作?

GraphQL Connections for Relay 中的光标都有哪些限制?

处理子查询中的 graphql 模式拼接错误