SpringCloud Feign跨服务调用 Method has too many Body parameters异常
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userInfoServiceImpl': Unsatisfied dependency expressed through field 'mqService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.dt.userserver.service.MqService': FactoryBean threw exception on object creation;
nested exception is java.lang.IllegalStateException: Method has too many Body parameters: public abstract com.dt.common.vo.Result com.dt.userserver.service.MqService.sendStringByQueueAndExchange(java.lang.String,java.lang.String,java.lang.String)
造成这个错误的原因是 我们没有在controller里面注入@FeignClient(value = “MessagesServer”) 标记的类
而是在别的地方注入了
这个时候需要在调用方法和被调用方法参数前面都加上
@RequestParam(“filedName”)
@RequestMapping("/messages/rabbitMQ/sendByQueue")
Result sendStringByQueue(@RequestParam(name = "queue") String queue,@RequestParam(name = "json") String json);
或者
@RequestBody
就可以了