2015-02-24 41 views
0

我想要做的是避免硬編碼參數並避免使用java配置文件(使用常量)。通過配置文件指定API端點參數

谷歌提供的示例使用其實常數和他們所有的倉庫一樣的,是這樣的:

@Api(
    version = "v1", 
    description = "Sample API", 
    scopes = {"ss0", "ss1"}, 
    audiences = {"aa0", "aa1"}, 
    clientIds = {"cc0", "cc1"}, 
    defaultVersion = AnnotationBoolean.TRUE 
) 

但是我的問題是,代碼是一個開源項目的一部分,我寧願不要把敏感數據放在它:)也不必留下空白。

通常情況下,解決方案總是使用配置文件(* .properties),谷歌雲端點可以實現這種功能嗎?有沒有辦法做到這一點或乾淨的替代品?

回答

0

如此處所示[1] App Engine允許應用程序讀取本地文件。您只需將您的配置文件放入代碼路徑的根目錄(或子目錄)並進行部署即可。

此功能的一個示例是,當通過Services Accounts [2]使用OAuth進行身份驗證時,需要檢索文件以檢索憑證密鑰。

之後,你只需要關心解析文件。我通常使用JSON格式的文件[3]。

[1] https://cloud.google.com/appengine/docs/java/#Java_The_sandbox

[2] https://cloud.google.com/bigquery/authorization#service-accounts-server

[3] How to parse JSON in Java

+0

也許是相似的,但在我的情況下,我使用的API端點的雲服務,提供一個接口從Android應用程序與雲服務進行通信。 更具體地說:https://cloud.google.com/appengine/docs/java/endpoints/annotations – tizio 2015-02-27 13:40:50

+0

您的代碼屬於您的後端API,您仍需像部署其他常規應用程序一樣部署到App Engine,您只需添加配置文件以及API文件並部署它。您將能夠從那裏打開文件。 – Layo 2015-02-28 06:51:46

相關問題