Spring Cloud Vault 在未生产时为 API 密钥使用本地环境变量

Spring Cloud Vault use local env variable when not in production for API Key

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

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

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

访问保险库中的该密钥。

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

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

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

其中 MY_KEY_HERE 是默认值。

Spring Boot Reference Guide 中所述,参考了多个配置属性来源。 apiKey 的值来自何处并不重要。

您至少有 3 个选项:

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

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