Я использую Graphene Django и пытаюсь настроить пользовательскую структуру для ответа. В настоящее время ответ выглядит следующим образом:
query {
singleEntity(id: "...") {
id
name
}
}
"data": {
"singleEntity" {
"id": ...,
"name": ...
}
}
Однако я хочу получить ответ, подобный этому:
query {
singleEntity(id: "...") {
id
name
}
}
"singleEntity" {
"data": {
"id": ...,
"name": ...
},
"statusCode": 200,
"errors": []
}
"singleEntity" {
"data": null,
"statusCode": 404,
"errors": [{ "message": "Not found" }]
}
Я знаю, что могу сделать это вручную для каждого преобразователя запросов; Тем не менее, я ищу более последовательный подход к этому. Таким образом, если распознаватель вызывает ошибку, поле errors
разрешенного поля заполняется. Если преобразователи возвращают данные, они просто показывают данные без ошибок. Я могу сделать это в Django Rest Framework, поскольку в DRF есть специальный обработчик ошибок. Я ищу что-то подобное в графене. Возможно ли это сделать с графеном? Использование промежуточного программного обеспечения или какой-либо другой формы пользовательского распознавателя?