0

我打算使用谷歌雲終端爲我的Android應用程序,以便查詢數據庫傳達給後端不同的標準get操作。由於谷歌雲端點實現了REST,因此它可以映射獲取,更新,刪除和插入的唯一性。所以,它只允許每個操作的一種方法。實際上,應用程序需要多種獲取方式。例如,getByLocation和getByRadius。他們都是獲得操作,但他們需要不同的搜索條件。換句話說,我需要一種方式來從應用程序中用不同的標準查詢數據庫。我怎樣才能實現這個?如何實現與谷歌雲終端

感謝

回答

0

的典型方法是在你的請求使用的參數,如

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

在谷歌雲端點您不侷限於基本的REST方法:

You are certainly not limited to those basic actions. Adding custom methods gives you much more flexibility, allowing you to perform complex operations. For example, checkForVictory might perform several queries, plus a write, to a database. 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; 
} 
+0

但我得到 「多種方法與其他相同路徑 」GET網站/ {}「: 」getSite「 和 」getByLocation「」 –

+0

你所寫的正是這種:@ApiMethod(NAME = 「getByLocation」)? – yurin

+0

是的。錯誤消息是錯誤:任務':backend:appengineEndpointsGetClientLibs'的執行失敗。 >有運行端點命令是錯誤的獲取客戶端-lib目錄下:siteApi.com.example.myapplication.backend.SiteEndpoint:用同樣的休息路徑「GET網站/ {}」多種方法:「getByLocation」和「getSite」 –