当前位置: 首页 > 知识库问答 >
问题:

在Micronaut中注入RxHttpClient,url来自环境变量

贺飞星
2023-03-14

当我在micronaut中注入RxHttpClient时,我有一个带有令牌的url,我想从环境变量中获得令牌,以避免硬编码秘密。

在我的服务中,我给客户注射了这样的东西:

@Client('${System.getenv(\'BOT_URL\')}')
@Inject
RxHttpClient httpClient

作为BOT_URL,存储在环境变量中的我的URL。项目生成失败,但尝试使用客户端时失败,出现以下错误:

2021-03-20 20:05:14.37 Could not resolve placeholder ${System.getenv('BOT_KEY')}

我的变量在服务器中定义正确,在注入客户端时如何访问它?

共有2个答案

魏元白
2023-03-14

您应该能够使用${BOT\u URL}访问环境变量。我知道这在应用程序中是有效的。yml文件。如果它在注释中不起作用,则始终可以在应用程序中创建属性。yml使用环境变量的值,并在注释中使用该属性。

对于这方面的文档,请尝试micronaut文档的“属性值绑定”部分。

巢睿
2023-03-14

Micronaut附带了预制的Property tySourceLoader,它将从不同的来源解析Property tySource。您可以通过文档阅读更多关于外部化配置的信息。

除了这些Property tySourceLoader之外,Property tySource从环境变量中解析,并自动注入,可在属性源代码键语法以下的Application Context中使用:

i、 e.一些_环境_变量转换为一些。环境变量

因此,您只需将环境变量key转换为点分隔属性key语法,以声明方式注入HttpClient

@Client('${bot.url}')
@Inject
RxHttpClient httpClient
 类似资料:
  • 问题内容: 在詹金斯(Jenkins)的工作中,我正在执行预构建中的一些操作,例如执行Shell脚本。通过使用Jenkins插件“ EnvInject”,我想将环境变量注入到我的Maven构建(单元测试)中,以便可以在Java单元测试中使用这些变量。在shell脚本中,即时消息执行类似以下操作: 在构建Jenkins时,输出以下内容: 但是“ ip”变量在我的Java代码(单元测试)中不可用。当我

  • 在Jenkins的工作中,我正在执行驻留在预步骤构建中的几个操作,例如执行外壳脚本。使用Jenkins插件EnvInject,我想将环境变量注入到我的maven构建(单元测试)中,以便在我的Java单元测试中使用。在外壳脚本IM做类似的事情: 在构建Jenkins时,输出以下内容: 但是“ip”变量在我的Java代码(单元测试)中不可用。当我完整打印两个我没有看到登记的“ip”。 我是否需要为ma

  • 问题内容: 设置环境变量后,AWS 在http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Java.managing.html中讨论 。一切都很好,除了我不能在我的Spring XML配置代码中调用,也不能调用资源束快捷方式,因为资源束本身必须以某种方式提取这些环境变量来为它们服务。您能帮我将这个示例配置转换为使用

  • 我的文件夹根目录上有一个。env文件。这是我的。环境 我试图访问application.yml上的PORT变量,但它没有从。env文件中读取变量。这是我的申请。yml

  • 我试图将我从Google Secret Manager获得的秘密作为环境变量注入Kubernetes Pod。 我需要把它作为环境变量,让我的NodeJS应用程序可以读取它。 我尝试了以下解决方案:如何将来自Google secret Manager的secret作为环境变量注入Kubernetes Pod?但对我来说不管用。 我还试图设置一个init容器,但它将秘密作为文件放入pod中。 任何想

  • 问题内容: 我正在尝试通过“构建环境”部分中的选项在jenkins中设置密码,该选项可在我的测试中用于获取和使用密码。这是我正在检查“将密码作为环境变量注入到内部版本”的选项。问题是种子作业运行后,我将失去这些值。因此,我的添加值在种子作业运行后消失了。有人遇到过这个问题吗?如何使其永久化,以便每次我都可以在测试代码中检索到那些密码时? 问题答案: @daspilker和@JesseGlick,非

  • 问题内容: 首先一些背景: 我正在研究一些基于Apache Sling的 webapp原型代码,该代码基于OSGI并在Apache Felix上运行。尽管我认为到目前为止我已经掌握了大多数概念,但我对OSGI还是比较陌生。但是,令我感到困惑的是,我找不到一个“完整的”依赖项注入(DI)框架。我已经使用声明式服务(DS)成功地使用了基本的DI。但是我的理解是DS可以用作参考- 我该如何处理?-OSG

  • 我目前正在构建一个基于Dropwizard Guice泽西岛的应用程序,其中数据库访问暂时由JDBI处理。 我试图实现的是使用典型的企业架构,其中资源访问服务类访问DAO类,DAO类反过来访问数据库。以适当的DI方式将所有这些连接起来会很好,尽管我想如果其他方法都失败,我可以在应用程序的run()方法中构建对象图。 所以,我遇到了之前提到过的问题:获取DBIFactory需要环境和配置,它们需要在