Java OpenFeign控制器中的配置值为空
您好,我是openfeign的新手,我正在尝试使用一个构建fein客户端的控制器类,并希望使用配置文件中的“baseurl”,但它不是从配置文件中读取的,而是在项目的其他部分中读取的,在调试模式下,这似乎在配置类准备就绪之前就开始运行,请帮忙Java OpenFeign控制器中的配置值为空,java,spring-boot,openfeign,Java,Spring Boot,Openfeign,您好,我是openfeign的新手,我正在尝试使用一个构建fein客户端的控制器类,并希望使用配置文件中的“baseurl”,但它不是从配置文件中读取的,而是在项目的其他部分中读取的,在调试模式下,这似乎在配置类准备就绪之前就开始运行,请帮忙 @数据 @组成部分 公共类MyController{ 私有MyTokenClient-tokenClient; 私人MyClient MyClient; //从数据库读取TBD 私有字符串MyUserId; 私有字符串MyPassword; //需要从配
@数据
@组成部分
公共类MyController{
私有MyTokenClient-tokenClient;
私人MyClient MyClient;
//从数据库读取TBD
私有字符串MyUserId;
私有字符串MyPassword;
//需要从配置中获取此值
@值(“${My.base url}”)
专用字符串baseUrl=”https://api.test.annabanana.com";
@自动连线
公共MyController(){
this.tokenClient=Feign.builder().contract(新的SpringMvcContract())
.encoder(新的GsonEncoder())
.decoder(新的GsonDecoder())
.logger(新的Slf4jLogger(MyTokenClient.class))
.logLevel(外部记录器.Level.FULL)
.requestInterceptor(新的BasicAuthRequestInterceptor(“用户”、“密码”))
.target(MyTokenClient.class,baseUrl);
this.MyClient=Feign.builder().contract(新的SpringMvcContract())
.requestInterceptor(新的MyRequestInterceptor()).target(MyClient.class,baseUrl);
}
}
试试看
@组件
公共类MyController{
私人最终客户MyClient;
私有MyTokenClient-tokenClient;
私有字符串MyUserId;
私有字符串MyPassword;
@自动连线
公共MyController(@Value(“${My.base url}”)字符串baseUrl){
this.tokenClient=Feign.builder().contract(新的SpringMvcContract())
.encoder(新的GsonEncoder())
.decoder(新的GsonDecoder())
.logger(新的Slf4jLogger(MyTokenClient.class))
.logLevel(外部记录器.Level.FULL)
.requestInterceptor(新的BasicAuthRequestInterceptor(“用户”、“密码”))
.target(MyTokenClient.class,baseUrl);
this.MyClient=Feign.builder().contract(新的SpringMvcContract())
.requestInterceptor(新的MyRequestInterceptor()).target(MyClient.class,baseUrl);
}
}
如果@Data不是dto,就不要使用它