如果它们来自数据源,如何在 graphql 模式中表示枚举?

Posted

技术标签:

【中文标题】如果它们来自数据源,如何在 graphql 模式中表示枚举?【英文标题】:How to represent enums in graphql schema if they come from a data source? 【发布时间】:2020-03-10 19:43:10 【问题描述】:

我正在使用一个 REST api。其中一个路径是 /types/ ,它只返回一个 json 字符串数组,每个字符串都是一个类型的名称。此类型在架构中的其他地方用作其他对象的类型枚举值。我如何在 graphql 模式中表示这个?我正在使用 aws AppSync,但我认为这无关紧要。

【问题讨论】:

【参考方案1】:

您可以尝试如下设置架构:

enum Types 
  a,
  b,
  c


type Query 
  listTypes: [Types]

【讨论】:

你不会知道a、b、c等是什么,因为它们来自api。它们是动态的,而不是静态的。 您能否举例说明您希望它如何工作?

以上是关于如果它们来自数据源,如何在 graphql 模式中表示枚举?的主要内容,如果未能解决你的问题,请参考以下文章

来自 Gatsby 中单个对象 JSON 文件的 GraphQL 模式

GraphQL 和 Prisma:当它们已经是 Prisma 数据库模式的一部分时,为啥要在应用程序模式中重新定义类型?

一种灵活的API设计模式:在Spring Boot中支持GraphQL

如何使用 Python 获取 GraphQL 架构?

Strapi - 如何使用自定义属性扩展 graphql 类型模式?

我是 graphql 的新手,我发现在 django-graphql 中使用来自两个不同应用程序的模式有困难?