Google app engine 一个子类endpoints.ServiceException如何创建?

Google app engine 一个子类endpoints.ServiceException如何创建?,google-app-engine,python-2.7,google-cloud-endpoints,Google App Engine,Python 2.7,Google Cloud Endpoints,文档在中提到“子类化endpoints.ServiceException”。然而,除了字符串消息、“状态”和http代码之外,子类不能真正表达任何东西 对于任何应用程序来说,要有更智能的异常处理,错误需要携带更多的信息 如何对exception类进行子类化,提供自定义消息/状态?目前,无法扩展有效负载,但您可以自定义状态代码 对于400错误,如中所述: import httplib class BadRequestException(ServiceException): """Bad req

文档在中提到“子类化endpoints.ServiceException”。然而,除了字符串消息、“状态”和http代码之外,子类不能真正表达任何东西

对于任何应用程序来说,要有更智能的异常处理,错误需要携带更多的信息


如何对exception类进行子类化,提供自定义消息/状态?

目前,无法扩展有效负载,但您可以自定义状态代码

对于
400
错误,如中所述:

import httplib
class BadRequestException(ServiceException):
  """Bad request exception that is mapped to a 400 response."""
  http_status = httplib.BAD_REQUEST
当前支持错误的状态代码列表(截至2013年5月8日)为:

  • httplib.BAD_请求
    :400
  • httplib.UNAUTHORIZED
    :401
  • httplib.禁止
    :403
  • httplib.未找到
    :404
  • httplib.CONFLICT
    :409
  • httplib.GONE
    :410
  • httplib.PRECONDITION\u失败
    :412
  • httplib.请求实体太大
    :413
这些状态代码将映射到其他代码:

  • httplib.PAYMENT\u REQUIRED
    :402映射到404
  • httplib.METHOD\u不允许
    :405映射到501
  • httplib.不可接受
    :406映射到404
  • httplib.PROXY\u身份验证\u必需
    :407映射到404
  • httplib.REQUEST\u超时
    :408映射到503
  • httplib.LENGTH\u必需
    :411映射到404
  • httplib.REQUEST\u URI\u过长
    :414映射到404
  • httplib.UNSUPPORTED_MEDIA_TYPE
    :415映射到404
  • httplib.请求的\u范围\u不可满足
    :416映射到404
  • httplib.EXPECTATION\u失败
    :417映射到404

此外,如果您的响应是
message\u types.VoidMessage
对象,则您将能够发送
204
无内容响应(
httplib.no\u content
)。

目前,无法扩展有效负载,但您可以自定义状态代码

对于
400
错误,如中所述:

import httplib
class BadRequestException(ServiceException):
  """Bad request exception that is mapped to a 400 response."""
  http_status = httplib.BAD_REQUEST
当前支持错误的状态代码列表(截至2013年5月8日)为:

  • httplib.BAD_请求
    :400
  • httplib.UNAUTHORIZED
    :401
  • httplib.禁止
    :403
  • httplib.未找到
    :404
  • httplib.CONFLICT
    :409
  • httplib.GONE
    :410
  • httplib.PRECONDITION\u失败
    :412
  • httplib.请求实体太大
    :413
这些状态代码将映射到其他代码:

  • httplib.PAYMENT\u REQUIRED
    :402映射到404
  • httplib.METHOD\u不允许
    :405映射到501
  • httplib.不可接受
    :406映射到404
  • httplib.PROXY\u身份验证\u必需
    :407映射到404
  • httplib.REQUEST\u超时
    :408映射到503
  • httplib.LENGTH\u必需
    :411映射到404
  • httplib.REQUEST\u URI\u过长
    :414映射到404
  • httplib.UNSUPPORTED_MEDIA_TYPE
    :415映射到404
  • httplib.请求的\u范围\u不可满足
    :416映射到404
  • httplib.EXPECTATION\u失败
    :417映射到404
此外,如果您的响应是
message\u types.VoidMessage
对象,您将能够发送
204
无内容响应(
httplib.no\u content