我正在使用Google Cloud Endpoints进行API创建。将空列表返回到属性会导致在json响应中删除整个属性。如何克服这个问题?
完全相同的问题here但它适用于不同的语言。
class ContactMessage(messages.Message):
user_key = messages.StringField(1)
name = messages.StringField(2)
class ContactsListResponse(messages.Message):
contacts = messages.MessageField(ContactMessage, 1, repeated=True)
在API中,如果我使用return ContactsListResponse(contacts=[])
,则会移除整个contacts
属性。我已尝试过以下但没有效果,
return ContactsListResponse(contacts=[None])
return ContactsListResponse(contacts=[''])
认为contacts属性应包含ContactMessage
个对象的列表。所以我也试过了,
return ContactsListResponse(contacts=[ContactMessage()])
但这也不会起作用。想想修改回报就像
一样return ContactsListResponse(contacts=[ContactMessage(userkey='None')])
应该可以工作,但需要在客户端进行一些额外的验证检查..