Возврат пользовательских причин ошибок 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?

Другие вопросы по тегам