所以我有一些如下代码:
input Data {
activityValue: Int
}
但我需要它更像
input Data {
activityValue: Int | String!
}
我知道在打字稿中,即使不赞成您可以使用any
or number | string
。graphql中有这样的东西吗?
所以我有一些如下代码:
input Data {
activityValue: Int
}
但我需要它更像
input Data {
activityValue: Int | String!
}
我知道在打字稿中,即使不赞成您可以使用any
or number | string
。graphql中有这样的东西吗?
GraphQL 规范中没有真正的多类型。但是,Unions
可以满足您的需求。
从规范:
GraphQL 联合表示一个对象,它可能是 GraphQL 对象类型列表之一,但在这些类型之间不提供保证字段。
这意味着联合可以包含类型,但不能包含标量或列表。
例如,可以这样声明联合:
union Media = Book | Movie
然后用作类型:
type Query {
allMedia: [Media] # This list can include both Book and Movie objects
}
示例取自Apollo Docs。
如果您想检查您的查询,如果您有某种类型的 Union 类型,那么您需要使用内联片段来执行此操作。
query Test {
singleMedia(id: 123) {
name
... on Book {
author
}
... on Movie {
musicTitle
}
}
}