我目前正在使用 Google Cloud Endpoints 和 Objectify 在 Java 中开发概念验证Web服务。目前,我想实现/定义对客户端查询的部分响应,以最小化GAE数据存储操作。
以下是我目前的研究和观察:
在GAE数据存储层上,我知道存在投影查询的概念,这在实体获取阶段发生,解释为here。 (可能优化数据存储操作)
在Google Cloud Endpoints层,我知道存在字段屏蔽的概念,这是在从GAE数据存储中提取实体后发生的,解释here。 (无法优化数据存储区操作)
从YouTube-API我知道有partial resources这个概念,它似乎接近我想要实现的目标。 (已经实施的数据存储操作的优化)
现在我的问题:
1。)是否有一种“简单的方法”来实现部分响应,就像在YouTube-API中完成一样使用某些配置或注释?
2.如果没有“简单方法”来实现部分响应,那么分解实体和构建具有不同属性组的关系实体是一种“首选方式”吗?然后,这些关系实体可以组成一个部分响应实体,并返回给客户端。据我所知,这种方法的缺点是每个响应实体都需要先保存才能返回给客户端。
3。)这个问题还有其他优选的解决方案吗?