如何使用GraphQL Yoga进行多个嵌套查询(GET请求)?

里扎

如何使用GraphQL Yoga进行多个嵌套查询?

这是我的资料

{
  "user": [{
      "id": 1,
      "name": "Thomas",
      "comment_id": [1, 2, 3]
    },
    {
      "id": 2,
      "name": "Riza",
      "comment_id": [4, 5, 6]
    }
  ],
  "comment": [{
      "id": 1,
      "body": "comment 1"
    },
    {
      "id": 2,
      "body": "comment 2"
    },
    {
      "id": 3,
      "body": "comment 3"
    }
  ]
}

场景是我要查询特定用户的所有注释,但是该用户仅存储commentID。

这是我的代码

const { GraphQLServer } = require('graphql-yoga');
const axios = require('axios');

const typeDefs = `
  type Query {
    user(id: Int!): User
    comment(id: Int!): Comment
  }

  type User {
    id: Int
    name: String
    comment: [Comment]
  }

  type Comment {
    id: Int
    body: String
  }
`;

const resolvers = {
  Query: {
    user(parent, args) {
      return axios
        .get(`http://localhost:3000/user/${args.id}`)
        .then(res => res.data)
        .catch(err => console.log(err));
    },
    comment(parent, args) {
      return axios
        .get(`http://localhost:3000/comment/${args.id}`)
        .then(res => res.data)
        .catch(err => console.log(err));
    },
  },
  User: {
    comment: parent =>
      axios
        .get(`http://localhost:3000/comment/${parent.comment_id}`)
        .then(res => res.data)
        .catch(err => console.log(err)),
  },
};

const server = new GraphQLServer({ typeDefs, resolvers });
server.start(() => console.log('Server is running on localhost:4000'));

所需查询

{
  user(id: 1) {
    id
    name
    comment {
      id
      body
    }
  }
}

但是找不到返回,因为axios命中的端点http://localhost:3000/comment/1,2,3'

如何使其返回所有用户的评论?多谢你们!

雷耶斯

假设注释API/comment/:id仅接受单个ID,则您需要针对每个注释ID进行一次API调用(除非有一个API带有多个ID并返回其数据),然后从类型的comment字段解析器返回响应User

comment在这种情况下,这是字段解析器的样子:

User: {
    comment: parent => {
        let results = await Promise.all(parent.comment_id.map((id) => axios.get(`http://localhost:3000/comment/${id}`))) 
        return results.map((result) => result.data)
     }
  }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用graphql-tools调用查询

来自分类Dev

如何使用GraphQl查询geojson点?

来自分类Dev

如何在 GraphQL 查询中使用变量?

来自分类Dev

在Gatsby上,如何使用道具进行GraphQL查询?

来自分类Dev

如何使用线程处理多个GET请求并进行比较

来自分类Dev

如何使用GraphQL构建经过身份验证的查询?

来自分类Dev

如何使用GraphQL查询返回目录中的文件列表?

来自分类Dev

如何使用angular和Typescript从.graphql文件加载查询

来自分类Dev

如何使用Strapi在GraphQL中添加自定义查询?

来自分类Dev

如何使用 React-Native 中的变量查询 graphQL?

来自分类Dev

如何在GraphQL中使用参数正确进行订阅?

来自分类Dev

如何在 React 中使用 Redux Store 和 GraphQl 进行查询

来自分类Dev

如何使用Squeel进行嵌套查询?

来自分类Dev

如何使用 SQLAlchemy 进行嵌套查询?

来自分类Dev

GraphQL 如何进行关系查询?

来自分类Dev

如何使用Combine Framework进行多个请求

来自分类Dev

我如何在本机聊天应用程序中使用GraphQl订阅以从GraphQl查询获取实时更新

来自分类Dev

如何使用 Lighthouse 在 Laravel 5.8 中使用字段值过滤 Graphql 查询

来自分类Dev

如何管理GraphQL查询循环?

来自分类Dev

如何在一个请求中对mongo进行多个查询

来自分类Dev

如何使用AND / OR运算符过滤列表/查询AWS Amplify JavaScript GraphQL

来自分类Dev

GraphQL SPQR-如何使用客户端通过查询来获取字段列表

来自分类Dev

如何在graphql查询中将%符号与变量一起使用

来自分类Dev

如何使用graphQL从gats中的多个目录(文件系统)中获取数据

来自分类Dev

如何使用带有Mongoose和ES6 Promise的Graphql中的find解析多个记录

来自分类Dev

使用变量处理Graphql查询时,Python请求抛出400

来自分类Dev

如何使用rxjs进行多个内部嵌套订阅

来自分类Dev

一个请求中的 GraphQL 多个查询

来自分类Dev

嵌套查询-Graphql

Related 相关文章

  1. 1

    如何使用graphql-tools调用查询

  2. 2

    如何使用GraphQl查询geojson点?

  3. 3

    如何在 GraphQL 查询中使用变量?

  4. 4

    在Gatsby上,如何使用道具进行GraphQL查询?

  5. 5

    如何使用线程处理多个GET请求并进行比较

  6. 6

    如何使用GraphQL构建经过身份验证的查询?

  7. 7

    如何使用GraphQL查询返回目录中的文件列表?

  8. 8

    如何使用angular和Typescript从.graphql文件加载查询

  9. 9

    如何使用Strapi在GraphQL中添加自定义查询?

  10. 10

    如何使用 React-Native 中的变量查询 graphQL?

  11. 11

    如何在GraphQL中使用参数正确进行订阅?

  12. 12

    如何在 React 中使用 Redux Store 和 GraphQl 进行查询

  13. 13

    如何使用Squeel进行嵌套查询?

  14. 14

    如何使用 SQLAlchemy 进行嵌套查询?

  15. 15

    GraphQL 如何进行关系查询?

  16. 16

    如何使用Combine Framework进行多个请求

  17. 17

    我如何在本机聊天应用程序中使用GraphQl订阅以从GraphQl查询获取实时更新

  18. 18

    如何使用 Lighthouse 在 Laravel 5.8 中使用字段值过滤 Graphql 查询

  19. 19

    如何管理GraphQL查询循环?

  20. 20

    如何在一个请求中对mongo进行多个查询

  21. 21

    如何使用AND / OR运算符过滤列表/查询AWS Amplify JavaScript GraphQL

  22. 22

    GraphQL SPQR-如何使用客户端通过查询来获取字段列表

  23. 23

    如何在graphql查询中将%符号与变量一起使用

  24. 24

    如何使用graphQL从gats中的多个目录(文件系统)中获取数据

  25. 25

    如何使用带有Mongoose和ES6 Promise的Graphql中的find解析多个记录

  26. 26

    使用变量处理Graphql查询时,Python请求抛出400

  27. 27

    如何使用rxjs进行多个内部嵌套订阅

  28. 28

    一个请求中的 GraphQL 多个查询

  29. 29

    嵌套查询-Graphql

热门标签

归档