尽管请求中存在接受编码标头,但 POST 响应未压缩



我遇到了一个奇怪的案例。我正在使用一个由几个不同服务组成的 Spring Boot 应用程序。

对于每个服务,在 application.properties 文件中,添加了这些属性:

server.compression.enabled=true
server.compression.mime-types=application/json,application/xml,text/html,text/xml,text/plain,application/javascript,text/css
server.compression.min-response-size=1024

现在,每个适当的请求都包含"接受编码"标头,响应包含"内容编码"标头,并且响应应该被压缩。

它几乎是这样工作的,但是对于一个服务,POST响应不包含"内容编码",即使POST请求包含"接受编码"。此类响应不会压缩,因此它不仅涉及缺少标头。此服务的 GET 响应/请求工作正常。其余服务的 GET/POST 请求/响应也工作正常。

此特定服务的 Spring 引导版本是 1.5.16.RELEASE。

我应该在哪里寻找原因?是否可以仅针对 POST 响应以某种方式覆盖此设置?

更新:我还注意到在此服务的 POST 响应中,缺少"变化:接受编码"标头。它存在于所有其他情况下。

尝试将 wiremock 依赖项配置从compile更改为testCompile。就我而言,2.22.0 版本(带编译(中的 wiremock 导致了此问题。

最新更新