Возврат пользовательских причин ошибок HTTP в конечных точках Google Cloud
Собственные API REST Google возвращают подробный ответ в случае ошибки, например:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalidBookshelfId",
"message": "Invalid bookshelf ID."
}
],
"code": 400,
"message": "Invalid bookshelf ID."
}
}
В конечных точках Google Cloud для Python можно, например, raise endpoints.BadRequestException('Error message')
, но в дополнение к сообщению об ошибке я хотел бы вернуть "код" или "причину", как в примере выше. Есть ли способ добиться этого?
1 ответ
Код соответствует коду статуса, связанному с BadRequestException
, Другие исключения также задокументированы, например, endpoints.UnauthorizedException
соответствует коду статуса 401
, Для reason
и domain
они устанавливаются API-инфраструктурой Google.
Что вы имели в виду, что невозможно установить в message
?