graphql - 在 GraphQL typedDefs 中使用联合类型
问题描述
我正在输入我的typedDefs
and 对于一个属性,它可以返回String
或Boolean
。
const typeDefs = `
type Analysis {
id: String
analysisName: String
creator: String
description: String
datesValid: String
}
`
我想datesValid
成为String
或Boolean
。我试过了:
const typeDefs = `
...
datesValid: boolString
}
union boolString = String | Boolean
`
但这会500
在尝试通过 GraphiQL 查询时导致内部服务器错误。
我的最终目标是将其键入为String | Boolean
解决方案
根据 GraphQL 规范,类型联合只能从对象类型创建。这意味着你想做的事情是不可能的。
我相信有不同的方法可以解决您的问题。也许可以为空的日期类型正在解决您的问题?或者一个可以有多个值的枚举(例如VALID
, INVALID
, PENDING
)?在极端情况下,您拥有的标量类型可以达到目的。
通常,规范中的这些限制也是为了帮助人们构建一致且易于使用的 API。
推荐阅读
- bash - 减少 while 循环的 Unix 脚本执行时间
- c# - 使用 Swagger 公开默认未公开的 Schema
- excel - Excel 中的三角函数并不总是精确的
- javascript - discord.js 用户名未定义
- javascript - 如何将具有表示数字列表(“1.1.1”)的键的对象转换为多维数组
- c# - EF Core:如何在不同的查询上下文中重用相同的表达式
- python - Python - 在数组内拆分字符串
- ruby-on-rails - 在 Rails 中使用 RSpec 测试互连进程(特别是 Kafka 进程)
- android - 运行程序时不显示 TableRow 和 textviews
- python - 在python中更改xml树的属性