java - 在spring注释中将值传递给占位符
问题描述
我已经从 api 规范生成了一个客户端接口
@FeignClient(
name = "${testController.name:testController}",
url = "${testController.url:https://api.dev.foo}",
configuration = {ClientConfiguration.class}
)
public interface TetsControllerApiClient extends TestControllerApi {
}
如何覆盖它的name
, 或url
属性?将不胜感激。谢谢。
解决方案
这是从属性文件(application.yml
或application.properties
)加载的。
该表示法${testController.name:testController}
是一种 Spring 表达式语言,它表示以下内容:
- 从属性中加载
testController.name
并读取其值。 - 如果未找到,
testController
请改为使用默认值。
该application.properties
文件应如下所示:
testController.name=myTestController
要覆盖该值,您可以使用 Spring 配置文件。使用配置文件归档application-local-dev.properties
并启动应用程序local-dev
。
推荐阅读
- javascript - 如何在页面之间/跨页面传递/发送状态?
- azure - Microsoft graph 在订阅第 12 组订阅的通知 API 时出现 403 Forbidden 错误
- ios - 使用 UIBezierPath 在 2 点之间绘制波浪
- c++ - 为什么 C++ 关联容器谓词默认不透明?
- qualtrics - 联系参与者反应的方法
- javascript - 如何修复代码以淡化按钮并在单击时将按钮更改为蓝色?
- r - lm.wfit(x, y, w, offset = offset,singular.ok =singular.ok, : 0 (non-NA) 情况下的错误。但所有列都至少包含一个非 NA 值
- javascript - 是否可以在每个承诺完成后运行回调,然后在全部完成后运行另一个?
- ios - 如何为 Popover 的箭头添加边框?
- angular6 - TestBed overrideModule 方法似乎删除了以前添加的提供程序