SpringCloud FeignClient
在spring cloud 使用@FeignClient 远程调用时,远程调用的方法参数 @RequestParam 中要加上参数名称
正确示例:
@FeignClient(value="antube-money", path="withdraw")publicinterfaceWithdrawClient{@PostMapping("/updateWithdrawOrder")
ResponseMsg<Void>updateWithdrawOrder(@RequestParam("withdrawId") String withdrawId,@RequestParam("state") Integer state);}
错误示例:
@FeignClient(value="antube-money", path="withdraw")publicinterfaceWithdrawClient{@PostMapping("/updateWithdrawOrder")
ResponseMsg<Void>updateWithdrawOrder(@RequestParam String withdrawId,@RequestParam Integer state);}
不然启动会创建bean 失败,报如下异常
11:07:09.495[main,] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext- Exception encountered during context initialization- cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name'userController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name'*.*.*.WithdrawClient': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: RequestParam.value() was empty on parameter0
这个小错误已经犯了好多次了,第一次发博客记录。