2013-07-23 49 views
0

我想創建一個用戶定義的MessageField像DateTimeField字段。我創建了一個如下:如何定義使用ProtoRPC的DateTimeField字段等規定MessageField用戶?

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。提前致謝。

+0

你需要這個雲端點爲什麼?你聽說過自定義錯誤代碼嗎? – bossylobster

+0

@bossylobster這是幫助客戶端開發人員瞭解什麼是真正的錯誤。代碼 - >可以輕鬆識別錯誤的東西。讓他們可以使用代碼來顯示自定義消息 消息 - >一個人類可讀/像樣的錯誤信息,使人們可以顯示給最終用戶 參考 - >東西,我們作爲開發商可以做調試,即一個字符串我們放在日誌,這樣我們就可以搜索日誌錯誤 –

+0

對不起,我還沒有聽說過自定義錯誤代碼的具體發生。 –

回答