0

我想创建一个用户定义的 MessageField,例如 DateTimeField。我创建了一个如下:

class ErrorMessage(Message):
    code = StringField(1, required=True)
    message = StringField(2, required=True)
    reference = StringField(3, required=True)

class ErrorField(MessageField):
    message_type = ErrorMessage

    @util.positional(3)
    def __init__(self, number, **kwargs):
        super(ErrorField, self).__init__(self.message_type, number, **kwargs)

听起来对吗?我已将此 ErrorField 用作 Google 云端点响应类中的字段之一。它适用于 JS 客户端,但与 android 一起使用时,错误对象的格式为 error=""。

     return  MyResponse(
        isSaved=False,
        error=ErrorMessage(code="200", message=simplejson.dumps(form.errors), reference="form validation error")
       )

     from protorpc.messages import Message, StringField, MessageField

     class MyResponse(Message):
        isSaved = StringField(1, required=True)
        error = ErrorField(2, required = False)

我的端点需要通用的错误类,为此我需要一个自定义的 ErrorField。提前致谢。

4

1 回答 1

1

请参阅端点异常文档。

例如,发送一个400

raise endpoints.BadRequestException('A bad thing happened.')

一些更有用的答案:
在 Google Cloud Endpoints 中返回自定义 HTTP 错误原因
如何继承 endpoints.ServiceException?

于 2013-07-24T17:37:42.150 回答