Tomcat 7,Spring rest模板应用程序在浏览器中生成err_invalid_chunked_encoding

Kri*_*tal 7 java rest spring transfer-encoding

我有一个Tomcat 7,Spring 4.2 'RestController'实现REST API,它似乎'ERR_INVALID_CHUNKED_ENCODING'在返回JSON响应时产生少量API调用.

它是创建一个相同的代码ResponseEntity.但是对于少数API调用,"Content-Length"设置正确,其他调用"Transfer-Encoding"设置为Chunked.

private CacheControl cacheControl = CacheControl.noStore().mustRevalidate();    

protected <T> ResponseEntity<TNRestResponse<T>> createEntity(TNRestResponse<T> res) {
        return ResponseEntity.ok().cacheControl(cacheControl).body(res);
}
Run Code Online (Sandbox Code Playgroud)

奇怪的部分是创建的相同API调用的响应ERR_INVALID_CHUNKED_ENCODING似乎在另一个环境中正常工作.唯一的区别是客户端和服务在有问题的场景中在同一台服务器上运行.

已经尝试的解决方案是设置Content-Length手动,这似乎导致客户端上的文件过早结束.JSON长度只有大约468个字符,但客户端只接收409个字符,即使服务器日志显示已发送完整响应连接已关闭.

我们在这个问题的解决方案中迷失了,因为它是在不同环境中奇怪地运行的相同代码.我试图在tomcat上检查server.xml中的压缩设置.但是一切看起来都很好.

还禁用了IE和chrome中的代理设置.

任何有用的输入或见解都会非常好吗?提前致谢.

Ole*_*syn 1

按着这些次序:

1) 转至操作系统的控制面板 > Internet 选项 > 连接 > LAN 设置或浏览器设置。

2) 取消选择 LAN 或浏览器的“使用代理”。

ERR_INVALID_CHUNKED_ENCODING

原答案

另一个原始答案