我的功能区应用程序遇到问题。这是我的代码:
@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();
}
}
但是,出现以下错误:
在实践中,ribbonPing方法的参数0.zuul.zach.ribbonapp.RibbonConfig需要一个类型为'com.netflix.client.config.IClientConfig'的bean。
操作: 考虑在您的配置中定义类型为“ com.netflix.client.config.IClientConfig”的bean。
有什么办法可以解决?
答案 0 :(得分:0)
当我在RibbonAppApplication类中添加此行时,问题解决了
@SpringBootApplication(scanBasePackages={"com.netflix.client.config.IClientConfig"})