2015-02-24 42 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

相关问题