如何在 ApolloGraphQL 中创建数组作为输入
Posted
技术标签:
【中文标题】如何在 ApolloGraphQL 中创建数组作为输入【英文标题】:How to create an array of arrays as input in ApolloGraphQL 【发布时间】:2020-09-14 06:11:19 【问题描述】:如何在ApolloGraphQL 中创建一个数组作为输入?
例如,这样的查询的 Schema 应该如何:
Users(Id:1, Filters:[["Id",">", "1"], ["Id","<","3"]])
Id
Name
我尝试了以下架构,但没有运气:
const typeDefs = gql`
type Query
Users(
Id: ID,
Filters: [[String, String, String]]
)
`;
我在这里想要实现的是一个输入类型,它是一个 List of Lists,每个子列表正好包含 3 个字符串。所以在函数内可以这样调用:Filters:[["Id",">", "1"], ..]
【问题讨论】:
任何关于query variables
和input types
的知识? graphql.org/learn/schema/#input-types
感谢您的链接,没有说明如何创建列表作为输入,但我很感激。
使用您尝试定义的类型更新问题
【参考方案1】:
嗨,Ander,我也尝试过实现类似的目标,但也不是运气。我最终改用了对象列表:
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
【讨论】:
谢谢彼得 这是一个不错的选择,但我觉得它有点冗长。我会继续努力的。。【参考方案2】:似乎比我更容易,使用[[String]]
就足够了:
const typeDefs = gql`
type Query
Users(
Id: ID,
Filters: [[String]]
)
`;
【讨论】:
以上是关于如何在 ApolloGraphQL 中创建数组作为输入的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C++ 类中创建 const 数组和计算 const 值?
在python中创建没有作为参数传递的aubarrays的子数组