1、Feign注入失败(该问题待定,有时候报错有时候不报错)
报错:
org.springframework.beans.factory.NoSuchBeanDefinitionException:
No qualifying bean of type 'com.shengxi.clients.UserClient' available:
expected at least 1 bean which qualifies as autowire candidate.
Dependency annotations:
{@org.springframework.context.annotation.Lazy(value=true),
@javax.annotation.Resource(shareable=true, lookup=, name=, description=,
authenticationType=CONTAINER, type=class java.lang.Object, mappedName=)}
原因:自动装配报找不到对象。如果不在相同的模块下,必须加上feign接口的所在包的扫描范围。我的feign-api模块在base模块之下,所以错误。
@EnableFeignClients(basePackages = "com.fast.**")
老坑了。
参考文章:Feign 注入失败之坑_java赵先生的博客-CSDN博客_feign接口注入失败
2、feign调用异常
报错:
nested exception is java.lang.IllegalStateException: PathVariable annotation was empty on param 0.
原因:
使用feign调用时,如果接口参数存在PathVariable,必须要在@PathVariable中加入value;
@GetMapping("/user/getUserByName/{username}")
LoginUser getUserByName(@PathVariable("username") String username);