了解GraphQL(noob)

问题描述 投票:0回答:3

我开始尝试GraphQL wp api。

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

我希望查询

{
    menus
}

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

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

谢谢您的时间

api graphql
3个回答
2
投票

[如果要记住要返回JSON对象,则可以将GraphQL查询定义为响应的左侧(这是设计响应的目的),例如只是钥匙。因此,除非有空值,否则返回的值应与查询的形状完全匹配。

如果要查看可以的内容,则需要访问模式本身。如果它是其他人提供的模式(在这种情况下看起来像WordPress),那么他们也应该提供了探索和理解它的方法。


3
投票

规则是GraphQL查询中的每个“叶子”字段都应为Scalar,例如ScalarIntBoolean等。因此,如果根String类型中的meuns字段是一个Query,它是一个有效的查询,将返回给您。

如果不是,则必须继续导航Scalar类型并选择要包括在GraphQL查询中的字段,例如:

Menu

[没有通配符可以代表当前GraphQL规范中的所有字段。您必须在查询中明确声明要选择的所有字段。通过查看GraphQL模式,您可以知道每种类型的可用字段。技巧之一是依赖GraphQL { menus { id createdDate } } 。这基本上意味着您可以使用某些GraphQL客户端,例如introspection systemAltairGraphiql等,其中大多数会自动-suggest函数,通过建议您可以为类型包括哪些字段来引导您组成查询。

P.S。与SQL类似,没有GraphQL Playground,您必须在select子句中显式定义要选择的列,例如select * from foo


1
投票

这是select id,name,address from foomain功能,您可以从查询中指定所需的数据。因此,您不能仅以这种方式查询菜单,您需要在所需的菜单中指定every嵌套字段,然后它才能起作用:)

© www.soinside.com 2019 - 2024. All rights reserved.