如何在 ApolloGraphQL 中创建一个数组作为输入
How to create an array of arrays as input in ApolloGraphQL
如何创建数组数组作为 ApolloGraphQL 中的输入?
例如,像这样的查询的架构应该如何:
{
Users(Id:1, Filters:[["Id",">", "1"], ["Id","<","3"]]) {
Id
Name
}
}
我尝试了以下模式,但没有成功:
const typeDefs = gql`
type Query{
Users(
Id: ID,
Filters: [[String, String, String]]
)
}
`;
我在这里想要实现的是一个输入类型,它是一个 列表列表,每个子列表都恰好包含 3 个字符串。所以在函数内可以这样调用:Filters:[["Id",">", "1"], ..]
嗨,安德,我也尝试过实现类似的目标,但也不是运气。我最终改用了对象列表:
const typeDefs = gql`
type Query{
Users(
Id: ID,
Filters: [Filter]
)
}
input Filter{
A: String!
B: String!
C: String!
}
`;
最后看起来像这样:
{
Users(Id:1, Filters:[{A:"Id",B:">", C:"1"}, ..]) {
Id
Name
}
}
似乎比我想象的要容易,使用 [[String]]
:
就足够了
const typeDefs = gql`
type Query{
Users(
Id: ID,
Filters: [[String]]
)
}
`;
如何创建数组数组作为 ApolloGraphQL 中的输入?
例如,像这样的查询的架构应该如何:
{
Users(Id:1, Filters:[["Id",">", "1"], ["Id","<","3"]]) {
Id
Name
}
}
我尝试了以下模式,但没有成功:
const typeDefs = gql`
type Query{
Users(
Id: ID,
Filters: [[String, String, String]]
)
}
`;
我在这里想要实现的是一个输入类型,它是一个 列表列表,每个子列表都恰好包含 3 个字符串。所以在函数内可以这样调用:Filters:[["Id",">", "1"], ..]
嗨,安德,我也尝试过实现类似的目标,但也不是运气。我最终改用了对象列表:
const typeDefs = gql`
type Query{
Users(
Id: ID,
Filters: [Filter]
)
}
input Filter{
A: String!
B: String!
C: String!
}
`;
最后看起来像这样:
{
Users(Id:1, Filters:[{A:"Id",B:">", C:"1"}, ..]) {
Id
Name
}
}
似乎比我想象的要容易,使用 [[String]]
:
const typeDefs = gql`
type Query{
Users(
Id: ID,
Filters: [[String]]
)
}
`;