首页 > 解决方案 > 了解 GraphQL

问题描述

我开始尝试使用 GraphQL wp api。

我正在查询菜单。至于文档,查询很长

我希望查询

{
    menus
}

只会带来嵌套在菜单中的所有数据,它不会。

为什么是这样?获取对象中所有嵌套数据以查看其中内容的方法是什么?

感谢您的时间

标签: apigraphql

解决方案


规则是 GraphQL 查询中的每个“叶”字段都应该是Scalar,Int等。因此,如果根类型中的Boolean字段是,它是一个有效的查询,并且会返回一些东西。StringmeunsQueryScalar

如果没有,您必须继续导航Menu类型并选择要包含在 GraphQL 查询中的字段,例如:

{
   menus {
     id
     createdDate
  }
}

当前 GraphQL 规范中没有通配符可以表示所有字段。您必须在查询中显式声明要选择的所有字段。通过查看 GraphQL 架构,您可以知道每种类型的可用字段。技巧之一是依靠 GraphQL自省系统。这基本上意味着您可以使用一些 GraphQL 客户端,例如AltairGraphiqlGraphQL Playground等,其中大多数都会有一些自动建议功能来指导您可以通过建议您可以为某个类型包含哪些字段来编写查询。

PS 与 SQL 类似的一个类比是没有select * from foo,您必须在 select 子句中显式定义要选择的列,例如select id,name,address from foo


推荐阅读