【问题标题】:Partial response from objectify / GAE endpoint?来自objectify / GAE端点的部分响应?
【发布时间】:2014-05-20 11:42:33
【问题描述】:

我正在使用 objectify 从 GAE 端点内与数据存储进行交互。为了节省带宽,我试图只返回某些实体的相关字段。在来自客户端的端点上,我尝试使用 setFields() 方法,但似乎它只是在客户端上过滤,而不是在服务器上。响应大小保持不变。

有没有办法只使用端点的对象化来检索或发送特定字段?

【问题讨论】:

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


    【解决方案1】:

    对数据存储区的查询会返回完整的实体及其所有属性(“字段”)。如果您只想返回某些字段,则需要以编程方式构建响应。查询,拉取所需属性,返回。

    如果您发现自己不断构建实体子集,您可能需要重新考虑每个模型中的属性。换句话说,考虑添加一些更瘦的模型,只有流行的属性。

    【讨论】:

      【解决方案2】:

      您可以使用投影查询仅提取实体的一部分属性。

      https://developers.google.com/appengine/docs/java/datastore/projectionqueries

      我认为 Objectify 不支持投影查询,因此您可能必须使用 Low-level Datastore API。

      另一种方法是将您的实体分成两部分。这可能是要走的路,特别是如果只有一个部分包含经常更新的属性(除了节省带宽之外,您还可以节省编写成本)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-08
        • 2021-08-28
        • 1970-01-01
        • 2015-03-04
        • 2018-05-12
        • 1970-01-01
        • 2015-07-01
        • 1970-01-01
        相关资源
        最近更新 更多