首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >一个子类怎么可能是endpoints.ServiceException?

一个子类怎么可能是endpoints.ServiceException?
EN

Stack Overflow用户
提问于 2013-05-06 20:56:22
回答 1查看 349关注 0票数 0

文档中提到了https://developers.google.com/appengine/docs/python/endpoints/exceptions中的“endpoints.ServiceException子类化”。然而,除了字符串消息、"state“和http代码之外,子类不能真正表达任何东西。

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-09 05:08:25

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

正如在endpoints.api_exceptions中对400错误所做的那样:

代码语言:javascript
运行
复制
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_REQUEST:400
  • httplib.UNAUTHORIZED:401
  • httplib.FORBIDDEN:403
  • httplib.NOT_FOUND:404
  • httplib.CONFLICT:409
  • httplib.GONE:410
  • httplib.PRECONDITION_FAILED:412
  • httplib.REQUEST_ENTITY_TOO_LARGE:413

这些状态代码将映射到其他代码:

  • httplib.PAYMENT_REQUIRED:402映射到404
  • httplib.METHOD_NOT_ALLOWED:405映射到501
  • httplib.NOT_ACCEPTABLE:406映射到404
  • httplib.PROXY_AUTHENTICATION_REQUIRED:407映射到404
  • httplib.REQUEST_TIMEOUT:408映射到503
  • httplib.LENGTH_REQUIRED:411映射到404
  • httplib.REQUEST_URI_TOO_LONG:414映射到404
  • httplib.UNSUPPORTED_MEDIA_TYPE:415映射到404
  • httplib.REQUESTED_RANGE_NOT_SATISFIABLE:416映射到404
  • httplib.EXPECTATION_FAILED:417映射到404

此外,如果您的响应是message_types.VoidMessage对象,您将能够向204发送无内容响应(httplib.NO_CONTENT)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16399254

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档