feign.FeignException: status 400 reading xxx 異常解決方案


1、問題描述

今天使用OpenFeign調用遠程接口時,eign.FeignException: status 400 reading,

於是百度解決。先做如下總結

 

2、產生原因

背景:項目使用的是微服務架構,采用springboot來開發,所有的服務都是基於內嵌tomcat來運行

1) 傳遞的參數可能為空值

2) Header信息長度過長 或者 參數信息過長

3) 參數沒有使用注解指定

4) 方法沒有指定請求方式

 

3、解決方案

方案一(針對原因1):

@RequestParam(value = "xxx",required = false) String xxx

 

方案二(針對原因2):

修改內嵌tomcat的參數,內嵌tomcat對參數的默認限制是8K,例如:可以修改配置文件server.max-http-header-size=20480
將參數封裝成對象,使用 @RequestBody注解 在feign消費服務上

 

方案三(針對原因3):

@RequestParam(value = "xxx",required = false) String xxx

 

方案四(針對原因4)

Feign 請求服務,在Controller 之上的 xxxMapping 的注解,如果使用 @RequestMapping 的話, 
需要聲明method 屬性, 否則就會引發這個異常,例如:@RequestMapping(value="/...,method=RequestMethos.GET)

 

參考鏈接:https://blog.csdn.net/weixin_44299027/article/details/104536836

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM