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

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

先看看一个例子:

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

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

如图:


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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。