feign.FeignException$BadRequest: status 400 reading ****#****

关于这个问题是对POST的误解造成的.

先看看一个例子:

也就是说: spring boot 发现RequestParam参数传递的时候,会以字符串拼接的方式传递URL,当我们的URL长度超过限制的长度时.就会报BadRequest的错误,尽管你时使用的Post方式.而且Feign中都有写 @RequestParam(value="XXX"), 看似代码没有写错.其实随着业务增多.传入的集合或者其他参数数据量增大时. 就会出现这样的错误

解决方案: 讲参数封装成Json的方式,也就是 RequestBody 的方式传递. 

如图:


我是用Controller的方式解说这个问题的原因的.在实际的Feign中.模块内部传递的参数大家可要注意了.

你可能感兴趣的:(feign.FeignException$BadRequest: status 400 reading ****#****)