【发布时间】:2019-03-04 21:03:58
【问题描述】:
我正在尝试对 graphQL 查询进行分组,以获得更有条理的响应。
我想查询 allEmployees 并返回以下格式的内容
GraphQL 查询
{
Employees:allEmployees{
id
firstName
lastName
}
}
回应
{
"data": {
"Employees": [
"new":[
{
"id": "1",
"firstName": "James",
"lastName": "Test"
},
{
"id": "3",
"firstName": "Charles",
"lastName": "Tes"
}
],
"updated":[
{
"id": "4",
"lastName": "Test"
},
],
"deleted":[
{
"id": "1",
},
],
}
}
}
我已经研究了一些选项来通过片段上的别名来命名子请求(比如新的、更新的和删除的),但这似乎不是一回事。我看过工会,但这似乎不是我想要的。
理想情况下,我想查询 graphql 之类的......
{
Employees:{
new: allEmployees(status:"new"){
id
firstName
lastName
}
updated: allEmployees(status:"updated"){
id
firstName
lastName
}
deleted: allEmployees(status:"deleted"){
id
}
}
但我认为不可能传递这样的嵌套查询。
有没有办法做这样的事情?我通过 graphql-ruby gem 将 graphql 与 ruby 一起使用。
如果有人需要更多信息,请告诉我?
谢谢
编辑
澄清一下。我们有多个实体将遵循新的、更新的、删除的模式。希望尝试在结果嵌套在父名称/别名(员工、用户)中的情况下获得响应
{
"data": {
"Employees": [
"new":[...],
"updated":[...],
"deleted":[...],
],
"Users": [
"new":[...],
"updated":[...],
"deleted":[...],
],
...
}
这就是我们想要嵌套的原因
【问题讨论】:
-
只玩
/graphiQL?只需将一个查询放在另一个查询下方 -
@xadm 感谢您的评论。我正在寻找使用标签对查询进行分组。如果您有时间,请参阅上面的编辑。
-
如果您需要为不同的实体执行此操作,您需要为每个实体定义一个
Type。一旦你有了它,只需将你从数据库中查询的记录分组到你想要的相应标签中。
标签: graphql graphql-ruby