【Java异常】Caused by: java.lang.IllegalArgumentException: method GET must not have a request body

微服务使用get方法远程调用的时候报这个错误 java.lang.IllegalArgumentException: method GET must not have a request body

主要原因是应为spring cloud项目使用FeignClient的时候GET请求方式无法解析对象参数,spring cloud项目使用FeignClient的时候GET请求有时候也无法解析单个参数值

FeignClient是支持对象传递的,但是得是Map形式,而且不能为空,与spring在机制上不兼容,因此无法使用。

而spring cloud在2.1.x版本中提供了@SpringQueryMap注解,可以传递对象参数,框架自动解析,但是,得是2.1.0以后的版本。

有三种方法可以解决该问题

1.POST请求 + @RequestBody注解
2.GET请求 + @SpringQueryMap注解(注意Spring Cloud的版本,2.1.x以下的不支持)
3.GET请求 + @RequestParam(“xxx”)注解

你可能感兴趣的:(springboot,异常解决方案,java,开发语言)