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

标签 java spring rest transfer-encoding

我有一个 Tomcat 7,Spring 4.2 'RestController' REST API 的实现,它似乎为返回 JSON 响应的少数 API 调用生成了 'ERR_INVALID_CHUNKED_ENCODING'

创建 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);
}

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

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

我们对这个问题的解决方案感到迷茫,因为它是相同的代码在不同的环境中表现得很奇怪。我试图检查两个 tomcat 上 server.xml 中的压缩设置。但一切看起来都很好。

同时禁用了 IE 和 chrome 中的代理设置。

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

最佳答案

请按照以下步骤操作:

1) Go to your OS's Control panel > internet options > Connections > LAN Settings or to your browser settings.

2) Deselect "Use Proxy" for your LAN or for your browser.

ERR_INVALID_CHUNKED_ENCODING

Original answer

Another original answer

关于java - Tomcat 7,Spring rest 模板应用程序在浏览器中生成 err_invalid_chunked_encoding,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49744379/

相关文章:

java - 更新jpa中的实体

java - 如何设置 OSGi 和非 OSGi WAR 以使用外部属性文件

rest - SwaggerSpringMvcPlugin 不适用于 Spring MVC

rest - Accept-Language header - 喜欢某些语言但接受所有语言

rest - 使用 http.Request 和 Restangular 在 Go 中查看 JSON POST

java - 在名为 OddTest 的类中编写一个名为 isOdd() 的方法,该方法接受一个 int 作为参数,如果该 int 为奇数则返回 true

java - 如何在entityManagerFactory中注入(inject)Hibernate Interceptor类

java - 使用 spring 注解注入(inject) p 命名空间属性

java - wait()和notify()方法,总是发生IllegalMonitorStateException并告诉我当前线程不是Owner,为什么?

java - IntelliJ IDEA 始终将 MockitoAopProxyTargetInterceptor 显示为 Autowiring