SpringCloud——Feign服务调用报错
程序员文章站
2022-04-26 10:31:36
...
写了一个Eureka注册调用的demo,代码大致如下:
Feign
@FeignClient(name = "spring-cloud-provider")
public interface HelloRemote {
@RequestMapping("/hello")
public String hello(@RequestParam("name")String name);
}
controller
@RestController
public class HelloController {
@Autowired
HelloRemote helloRemote;
@RequestMapping("/hello/{name}")
public String index(@PathVariable("name") String name){
return helloRemote.hello(name);
}
}
程序启动时遇到:
***************************
APPLICATION FAILED TO START
***************************
Description:
Field helloRemote in com.freemud.controller.HelloController required a bean of type 'com.freemud.controller.HelloRemote' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean of type 'com.freemud.controller.HelloRemote' in your configuration.
报错大致的意思就是HelloController中@Autowired自动注入的属性HelloRemote
无法被找到
解决:
问题应当出在Feign上,在写@EnableFeignClients注解的时候应当加上包名,否则就会出现读取不到的情况。
推荐阅读
-
SpringCloud实战之Feign声明式服务调用
-
SpringCloud实战之Feign声明式服务调用
-
SpringCloud使用Feign实现服务调用
-
使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务的方法(推荐)
-
Spring-cloud-eureka使用feign调用服务接口
-
使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务的方法(推荐)
-
SpringCloud-创建服务消费者-Feign方式(附代码下载)
-
Spring Cloud第七篇 | 声明式服务调用Feign
-
解决C#中调用WCF方法报错:远程服务器返回错误 (404) 未找到
-
SpringCloud教程 | 第三篇: 服务消费者(Feign)(Finchley版本)