Graphql,如何返回空数组而不是null

时间:2018-12-13 17:12:15

标签: graphql

我是Graphql的新手,我想知道是否有一种方法可以返回空数组而不是关系中的null。 让我们用User and Post来选择经典示例

type User {
  id: ID!
  posts: [Post]
}

Type Post {
  id: ID!
  comment: String!
}

当我对没有任何帖子的用户进行查询时,我希望在posts属性上有一个空数组,但是现在我得到了null,我该怎么做? 预先感谢。

1 个答案:

答案 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})) || [];
    }
  }
}