如何使用不同的Google云端点标准实施获取操作

时间:2015-11-20 22:13:16

标签: android google-app-engine google-cloud-endpoints google-cloud-sql

我计划使用谷歌云端点为我的Android应用程序与后端进行通信以查询数据库。由于Google云端点实现了REST,因此它会唯一地映射get,update,remove和insert。因此,它只允许每个操作的一种方法。实际上,该应用程序需要不止一种获取方式。例如,getByLocation和getByRadius。它们都是获取操作,但它们需要不同的搜索条件。换句话说,我需要一种方法来从应用程序中使用不同的条件查询数据库。我该如何实现呢?

由于

2 个答案:

答案 0 :(得分:0)

典型的方法是在请求中使用参数,例如

/user?location=Boston&radius=10&sortBy=distance

答案 1 :(得分:0)

在Google Cloud Endpoints中,您不仅限于基本的REST方法:

  

您当然不限于这些基本行动。添加自定义方法可以提供更大的灵活性,允许您执行复杂的操作。例如,checkForVictory可能会对数据库执行多次查询和写入操作。 https://cloud.google.com/solutions/mobile/google-cloud-endpoints-for-android/

您可以使用以下方法:

...
@ApiMethod(name = "getByLocation")
public SomeThing getByLocation(@Named("location" String location){
   //retrieve from datastore (use Objectify!)  
   return someThing; 
} 

@ApiMethod(name = "getByRadius")
public SomeThing getByRadius(@Named("radius" String radius){
   //retrieve from datastore (use Objectify!)  
   return someThing; 
}