0

我正在使用 Spring Cloud Vault 在生产中存储 API 密钥。

从阅读spring.io 博客看来我可以使用

 @Value("${apiKey}")
 String apiKey;

访问保管库中的该密钥。

在生产中这很好,但是有没有一种方法可以设置默认值/设置可在本地用于开发的 apiKey 的其他方式?(如果可能的话,最好在保险库之外)

4

2 回答 2

2

您可以像这样设置默认值(如果未找到 apiKey):

@Value("${apiKey:MY_KEY_HERE}")

MY_KEY_HERE默认值在哪里。

于 2019-03-11T12:27:00.330 回答
2

正如Spring Boot 参考指南中所解释的,参考了几个配置属性的来源。apiKeyfor 的价值从何而来并不重要。

您至少有 3 个选项:

  1. 设置在环境中,
  2. --apiKey=<your-api-key>在本地启动应用程序时将其作为参数传递
  3. 只需将它放在一个application.[properties|yaml]用于本地开发的地方。

无论哪种方式,apiKey属性都将在本地解析,而无需使用保管库。

于 2019-03-11T14:14:44.683 回答