前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RuoYi-Cloud OpenFeign远程调用JSON异常错误

RuoYi-Cloud OpenFeign远程调用JSON异常错误

作者头像
用户8889406
发布2023-03-05 15:33:45
1.1K0
发布2023-03-05 15:33:45
举报
文章被收录于专栏:小呙同学

报错环境:

代码语言:javascript
复制
<spring-boot.version>2.6.4</spring-boot.version>
<spring-cloud.version>2021.0.1</spring-cloud.version>
<spring-cloud-alibaba.version>2021.0.1.0</spring-cloud-alibaba.version>
<alibaba.nacos.version>2.0.4</alibaba.nacos.version>
<fastjson.version>1.2.83</fastjson.version>

<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>3.1.1</version>

报错信息:

一个查询资讯接口,请求后,发现aop处,操作日志记录无法正常插入数据库,但是其他接口没有问题,并且报错输出以下内容: Caused by: com.fasterxml.jackson.core.JsonParseException: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t) is allowed between tokens at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 2]

报错原因:

nacos 注册中心application-dev.yaml中配置了compression(压缩)的配置:

代码语言:javascript
复制
spring:
   compression:
    request:
      enabled: true // 这个引发的问题 
    response:
      enabled: true

经过百度,发现因为gzip编解码的问题导致了报错。

解决方式:

1、最简单的方式是将其设置为false,不对请求进行压缩(但是是否会引发其他的问题,暂且不得知),本地测试,有效。

代码语言:javascript
复制
spring:
   compression:
    request:
      enabled: false
    response:
      enabled: true

百度到说设置feign.compression.response.useGzipDecoder为true即可生效,但是本地测试,无效。

代码语言:javascript
复制
spring:
   compression:
    request:
      enabled: true // 这个引发的问题 
      useGzipDecoder: true //无效
    response:
      enabled: true

百度到说因为json数据过大,配置参数,设置大一点即可,本地测试,无效。

代码语言:javascript
复制
request:
enab led: true
mime-types: text/xml,application/xml,application/json 
# 单位是字节(b)
min-request-size: 5120

2、新增过滤器,专门处理Content-Encoding为gzip的请求。(这个需要自行研究处理)

参考链接

debug过程参考链接 https://www.jianshu.com/p/df37eb5f2169

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 报错环境:
  • 报错信息:
  • 报错原因:
  • 解决方式:
  • 参考链接
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档