我是Graphql的新手,我想知道是否有一种方法可以返回空数组而不是关系中的null。 让我们用User and Post来选择经典示例
type User {
id: ID!
posts: [Post]
}
Type Post {
id: ID!
comment: String!
}
当我对没有任何帖子的用户进行查询时,我希望在posts属性上有一个空数组,但是现在我得到了null
,我该怎么做?
预先感谢。
答案 0 :(得分:2)
这需要在您的GraphQL模式中完成(而不是在GraphQL查询中)-您的GraphQL字段解析器应返回一个数组而不是null,并(可选)指定返回的数组为非null;例如:
const typeDefs = gql`
type User {
id: ID!
posts: [Post!]!
}
`;
const resolvers = {
User: {
posts(user, _args, { getPosts }) {
return (await getPosts({user_id: user.id})) || [];
}
}
}