Как установить пользовательскую структуру ответа для графена Джанго? - PullRequest
0 голосов
/ 15 марта 2019

Я использую 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 есть специальный обработчик ошибок. Я ищу что-то подобное в графене. Возможно ли это сделать с графеном? Использование промежуточного программного обеспечения или какой-либо другой формы пользовательского распознавателя?

...