Skip to content

请求地址'/operlog',发生未知异常

【问题】使用若依微服务框架时,控制台报出如下错误,导致服务一段时间后下线。

请求地址'/operlog',发生未知异常.
org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t) is allowed between tokens; nested exception is com.fasterxml.jackson.core.JsonParseException: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t) is allowed between tokens
Caused by: com.fasterxml.jackson.core.JsonParseException: Illegal character ((CTRL-CHAR, code 31)): only regular white space (\r, \n, \t) is allowed between tokens

【原因】

请求接口参数值内容过大,超出当前设置的最大参数长度,部分内容被截取,导致 json 字符串不完整,解析出问题。

【解决】

三种方式解决:

  1. 减小参数的长度

  2. 去掉对应方法的 @Log 注解

  3. 调整 Feign 配置中 min-request-size 的值

    min-request-size 在 Feign 的配置中,表示启用压缩功能。 当请求的主体数据大于 min-request-size 配置值时,Feign 将会对请求数据进行压缩。这是为了减少网络传输的数据量,从而加快传输速度并降低网络拥塞。 在这个配置中,min-request-size: 10240 表示只有当请求的主体数据大小超过 10240 字节时才会进行压缩。如果请求的主体数据小于或等于 10240 字节,则不会进行压缩。

yaml
# feign 配置
feign:
  compression:
    request:
      enabled: true
      min-request-size: 10240
编程洪同学服务平台是一个广泛收集编程相关内容和资源,旨在满足编程爱好者和专业开发人员的需求的网站。无论您是初学者还是经验丰富的开发者,都可以在这里找到有用的信息和资料,我们将助您提升编程技能和知识。
专业开发
高端定制
售后无忧
站内资源均为本站制作或收集于互联网等平台,如有侵权,请第一时间联系本站,敬请谅解!本站资源仅限于学习与参考,严禁用于各种非法活动,否则后果自行负责,本站概不承担!