Код: Выделить всё
type Query {
teams(teamID:Int, namePrefix:String):[Team]
}
type Team {
id: Int
name: String!
members: [User]
}
type User {
id: ID!
name: String!
teamId: Int!
team: [Team]
}
Код: Выделить всё
query {
teams {
id
name
members {
id
name
}
}
}
Код: Выделить всё
[
{
"id": 1,
"name": "Team A",
},
{
"id": 2,
"name": "Team B",
}
]
Код: Выделить всё
[
{
"id": 10,
"name": "John",
"teamId": 1
},
{
"id": 20,
"name": "Dave",
"teamId": 1
},
{
"id": 30,
"name": "Bob",
"teamId": 2
}
]
Код: Выделить всё
{
"data": {
"teams": [
{
"id": 1,
"name": "Team A",
"members": [
{
"id": 10,
"name": "John"
},
]
}
]
}
}
Я понимаю, что для этого мы можем использовать директивы времени выполнения, и в настоящее время я оценил два подхода с использованием графа grql-java :
- Используйте DirectiveWiring и оберните сборщик данных кодом, выполняющим фильтрацию;
- Используйте SimplePerformantInstrumentation и манипулируйте результатом, используя инструментExecutionResult;
Подробнее здесь: https://stackoverflow.com/questions/787 ... aphql-java
Мобильная версия