【发布时间】:2019-04-02 20:15:46
【问题描述】:
我的功能区应用程序出现问题。这是我的代码:
@SpringBootApplication
@EnableDiscoveryClient
@RestController
@RibbonClient(name= "bye", configuration=RibbonConfig.class )
public class RibbonAppApplication {
@Autowired
private RestTemplate restTemplate;
public static void main(String[] args) {
SpringApplication.run(RibbonAppApplication.class, args);
}
@GetMapping
public String getService() {
return restTemplate.getForObject("http://bye",String.class);
}
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
}
还有我的RibbonConfig.class:
@Configuration
public class RibbonConfig {
@Bean
public IPing ribbonPing(IClientConfig config) {
return new PingUrl(false,"/health");
}
@Bean
public IRule ribbonRule(IClientConfig config) {
return new AvailabilityFilteringRule();
}
}
但是,我收到以下错误:
在 practice.zuul.zach.ribbonapp.RibbonConfig 中的方法ribbonPing 的参数 0 需要一个无法找到的 'com.netflix.client.config.IClientConfig' 类型的 bean。
行动: 考虑在您的配置中定义“com.netflix.client.config.IClientConfig”类型的 bean。
有什么办法可以解决吗?
【问题讨论】:
-
自动装配 IClientConfig。
-
感谢您的建议!请问如何自动装配IClientConfig?这是一个参数
-
@Autowired IClientConfigribbonClientConfig;还是一样的错误
-
@JaisAnkit 这里作为参数传递和类中的自动装配是一回事
标签: spring-boot spring-cloud netflix-eureka netflix-ribbon