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 个选项:
- 在环境中设置,
- 在本地启动应用程序时将其作为参数传递给
--apiKey=<your-api-key>
- 只需将它放在一个用于本地开发的
application.[properties|yaml]
中。
无论哪种方式,apiKey
属性 都将在本地解决,而无需使用保管库。
我正在使用 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 个选项:
- 在环境中设置,
- 在本地启动应用程序时将其作为参数传递给
--apiKey=<your-api-key>
- 只需将它放在一个用于本地开发的
application.[properties|yaml]
中。
无论哪种方式,apiKey
属性 都将在本地解决,而无需使用保管库。