接口报错:Failed to load response data: No data found for resource with given identifier

Failed to load response data

  • 1、概述
  • 2、现象及解决办法
    • 2.1、现象
    • 2.2、解决办法
  • 3、总结

1、概述

大家好,我是欧阳方超,可以关注我的公众号“欧阳方超”,后续内容将在公众号首发。
通过浏览器查看某接口返回了这样结果Failed to load response data: No data found for resource with given identifier
在这里插入图片描述

2、现象及解决办法

2.1、现象

描述一下我的现象,这个接口只在线上环境有这个问题,报这个错,在本地即使启用了网关的情况下也没有任何报错,那线上跟现在有什么区别呢,连的数据库都一样,一步步地排查发现,线上线下的不同在于线上请求接口时经过了nginx,那么问题可能出现在这里,经过查找,发现是接口返回值过大,nginx默认的缓冲区不足以支撑,导致nginx把返回的信息截断了,需要设置缓冲区的大小来解决这个问题。

2.2、解决办法

修改了nginx的配置,在location中加入以下内容:

fastcgi_buffers 256 128k;
chunked_transfer_encoding off;

需要说明的是,我是在为接口做反向代理的location中添加的上面的配置。
添加完之后重启nginx。

修改完之后,接口即使通过nginx请求,也应该正常访问了。

3、总结

问题虽小,排查却需要思路。
我是欧阳方超,把事情做好了自然就有兴趣了,如果你喜欢我的文章,欢迎点赞、转发、评论加关注。我们下次见。

你可能感兴趣的:(开发遇到的小问题,java,服务器,linux)