场景:在程序运行过程中,fegin接口出现有的请求能够请求通过,有的请求就发现出现调用接口500的情况。
经过排查对比两次请求的参数发现,第一次请求传入的参数比较少,第二次传入的参数比较多,查询资料才发现,fegin接口在调用的过程中,当请求的参数过长的时候会压缩参数,于是修改配置文件后,请求能正常发送了。
具体的配置方案:
SpringCloud Feign支持对请求和响应进行GZIP压缩,以减少通信过程中的性能损耗。通过下面的参数即可开启请求与响应的压缩功能
feign:
compression:
request:
enabled: true #开启请求压缩
response:
enabled: true #开启响应压缩
同时,我们也可以对请求的数据类型,以及触发压缩的大小下限进行设置:
feign:
compression:
request:
enabled: true #开启请求压缩
mime-types: text/html,application/xml,application/json #设置压缩的数据类型
min-request-size: 2048 #设置触发压缩的大小下限
经过配置后就可以正常的调用fegin接口了。