环境:java
Spring Cloud:Finchley.M8app
Spring Boot:2.0.0.RELEASEspa
报错信息:code
Error creating bean with name 'com.cloud.feign.interfaces.xxxFeignClient': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalSt.PathVariable annotation was empty on
Feign接口代码:blog
@FeignClient(value = "SPRING-CLOUD-WEB-PROVIDER-GROUP2") public interface SongFeignClient { @GetMapping("/call/{id}") public Object getSongInfo(@PathVariable int id); }
报错信息关键点:接口
PathVariable annotation was empty on
问题就出在接口方法入参@PathVariable注解这里,在Spring Mvc中能够不明确指定该注解对应的参数名称,但在feign中必须指定,不然将保如上异常,修后的正确代码以下:get
@FeignClient(value = "SPRING-CLOUD-WEB-PROVIDER-GROUP2") public interface SongFeignClient { @GetMapping("/call/{id}") public Object getSongInfo(@PathVariable("id") int id); }