通过Cloud Endpoints忽略ProtoRPC消息字段

时间:2014-08-25 15:39:44

标签: python google-app-engine google-cloud-endpoints

我一直致力于基于AppEngine的项目,我想知道是否可以忽略ProtoRPC消息字段。

使用Java SDK,您可以使用@ApiResourceProperty忽略属性(这意味着它不包含在返回给浏览器的响应中)。但是,我没有遇到过使用Python SDK执行此操作的方法。

Python SDK中有这样的东西吗?

谢谢,Adil

1 个答案:

答案 0 :(得分:2)

不幸的是,没有(至少不是我所知)。

根据您的使用情况,有两种可能的解决方案。

  1. 在方法中返回消息之前,将字段值设置为None。这样,它们将被跳过/不包含在JSON响应中。

  2. 如果您的消息已连接到数据存储模型,则可以使用endpoints-proto-datastore库,该库允许您直接在API方法中使用ndb模型。此外,它允许方法装饰器中的request_fieldsresponse_fields参数,这将限制对指定的消息/模型字段子集的请求或响应。 (在内部,它为您创建必要的消息类)