Вы можете рассматривать это как ошибку и обрабатывать ее соответствующим образом.
Я рекомендую вам проверить GraphQL spe c, параграф об обработке ошибок.
Надеюсь, он содержит именно то, что вы ищете.
По сути, вы должен вернуть все, что мог, и сообщить клиенту о потенциальных проблемах в поле «ошибки».
Пример из документации:
Запрос:
{
hero(episode: $episode) {
name
heroFriends: friends {
id
name
}
}
}
Ответ:
{
"errors": [
{
"message": "Name for character with ID 1002 could not be fetched.",
"locations": [ { "line": 6, "column": 7 } ],
"path": [ "hero", "heroFriends", 1, "name" ]
}
],
"data": {
"hero": {
"name": "R2-D2",
"heroFriends": [
{
"id": "1000",
"name": "Luke Skywalker"
},
{
"id": "1002",
"name": null
},
{
"id": "1003",
"name": "Leia Organa"
}
]
}
}
}