在Google Cloud Endpoints中返回自定义HTTP错误原因

时间:2013-03-29 15:28:28

标签: python google-app-engine google-cloud-endpoints

Google自己的REST API会在出现错误时返回详细的响应,例如:

{
 "error": {
  "errors": [
   {
"domain": "global",
"reason": "invalidBookshelfId",
"message": "Invalid bookshelf ID."
   }
  ],
  "code": 400,
  "message": "Invalid bookshelf ID."
 }
}

在Google Cloud Endpoints for Python中,可以例如raise endpoints.BadRequestException('Error message'),但除了错误消息之外,我还想返回“代码”或“原因”,如上例所示。有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:1)

代码对应于与BadRequestException关联的状态代码。其他例外情况也是documented,例如endpoints.UnauthorizedException对应于状态代码401。对于reasondomain,这些是由Google的API基础设施设置的。

您有什么想法无法在message中设置?