【问题标题】:ResponseEntity<JSON> - no content-length in headerResponseEntity<JSON> - 标头中没有内容长度
【发布时间】:2017-08-23 17:07:39
【问题描述】:

我正在使用 Spring Boot RestController 制作简单的 http 服务,而我发现,当我尝试通过 GET Json 对象请求时,我没有在标头中获得内容长度,并且传输编码变得分块。

使用简单的ResponseEntit&lt;String&gt;,所有标题都按预期设置。

什么样的问题可能导致这种行为?

【问题讨论】:

  • ResponseEntity 旨在表示整个 HTTP 响应。您可以控制其中的任何内容:状态代码、标题和正文。
  • 嗨,@Sonique,你找出问题所在了吗?我现在正在经历类似的事情。

标签: spring spring-boot


【解决方案1】:

这不是问题,传输编码chuncked 并且没有内容长度意味着响应被压缩。如果在 Spring Boot 中启用了压缩,它将压缩大于一定数量的响应(默认为 2048 字节)。我认为您的 ResponseEntit&lt;String&gt; 比压缩所需的要小。

您可以在documentation 中阅读有关压缩设置的更多信息。

如果您想要保持一致性,您可以禁用压缩,或将server.compression.min-response-size 设置为一个非常小的值。但我建议保持原样。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2023-03-03
  • 2013-01-23
  • 2021-12-27
  • 2011-11-17
  • 2012-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多