@FeignClient @Resource 無法注入Bean Springboot無法啟動

老白_White發表於2024-03-13

原因:

呼叫的服務生產者介面帶有@PathVariable

@FeignClient 註明的介面應該在@PathVariable註明變數名 @PathVariable(value = "xxxx"),不可省略

Feign 工作原理如下
1、 啟動類新增@EnableFeignClients註解,Spring會掃描標記了@FeignClient註解的介面,並生成此介面的代理
物件
2、 @FeignClient(value = Eureka的服務名稱),Feign會從註冊中
心獲取cms服務列表,並透過負載均衡演算法進行服務呼叫。
3、在介面方法 中使用註解@GetMapping("/服務的方法路徑"),指定呼叫的url,Feign將根據url進行遠端調
Feign注意點
SpringCloud對Feign進行了增強相容了SpringMVC的註解 ,我們在使用SpringMVC的註解時需要注意:
1、feignClient介面 有引數在引數必須加@PathVariable("XXX")和@RequestParam("XXX")
2、feignClient返回值為複雜物件時其型別必須有無參建構函式。

參考:PathVariable annotation was empty on param 0 - 寒冷的雨呢 - 部落格園 (cnblogs.com)

參考:https://blog.csdn.net/weixin_43333483/article/details/99219156

相關文章