【发布时间】:2020-08-19 05:38:03
【问题描述】:
假设您有一个 GraphQL 类型,它包含许多字段。 如何在不写下包含所有字段名称的长查询的情况下查询所有字段?
例如,如果我有这些字段:
public function fields()
{
return [
'id' => [
'type' => Type::nonNull(Type::string()),
'description' => 'The id of the user'
],
'username' => [
'type' => Type::string(),
'description' => 'The email of user'
],
'count' => [
'type' => Type::int(),
'description' => 'login count for the user'
]
];
}
查询所有字段通常是这样的:
FetchUsers{users(id:"2"){id,username,count}}
但我想要一种无需编写所有字段即可获得相同结果的方法,如下所示:
FetchUsers{users(id:"2"){*}}
//or
FetchUsers{users(id:"2")}
有没有办法在 GraphQL 中做到这一点??
我正在使用 Folkloreatelier/laravel-graphql 库。
【问题讨论】:
-
你在问如何做一些 GraphQL 在设计上不支持的事情。
-
不支持它是有道理的,假设您有 Student 和 Class 对象,student 有字段“classes”列出他参加的所有课程,class 有字段“students”列出所有参加的学生那堂课。那是一个循环结构。现在,如果您要求所有学生的所有字段,那是否还包括返回的所有课程字段?那些班有学生,他们的领域也包括在内吗?学生们上课,...
-
我有这个问题,它是为了让我可以看到什至可以拉出什么。许多 GraphQL 客户端(例如 GraphiQL,请参阅 gatsbyjs.org/docs/running-queries-with-graphiql)都有一个模式浏览器,它使用内省向您展示您可以提取的内容,如果这就是想要获得“一切”的原因的话。
标签: php laravel graphql graphql-php