将值传递给 spring 注释中的占位符

Passing value to placeholder in spring annotation

我已经根据 api 规范生成了一个客户端界面

@FeignClient(
    name = "${testController.name:testController}",
    url = "${testController.url:https://api.dev.foo}",
    configuration = {ClientConfiguration.class}
)
public interface TetsControllerApiClient extends TestControllerApi {
}

如何覆盖它的 nameurl 属性?将不胜感激。谢谢

您可以在项目的 application.properties 文件中覆盖它们

testController.name = "myController"
testController.url = "some url"

这是从属性文件(application.ymlapplication.properties)加载的。

符号 ${testController.name:testController} 是一种 Spring 表达式语言,表示以下内容:

  • 加载 testController.name 并从属性中读取其值。
  • 如果未找到,请使用 testController 作为默认值。

application.properties 文件应如下所示:

testController.name=myTestController

覆盖 您可以使用Spring 配置文件的值。文件 application-local-dev.properties 并使用 local-dev 配置文件启动应用程序。