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