我有一个springboot 3.1.5应用程序,我试图升级到Springboot 3.2.0。这个应用程序使用自定义RestTemplate对另一个服务器进行REST调用。自定义RestTemplate(基于Apache HttpClient 5.2.3)被构造为忽略SSL证书验证。
被调用的服务器返回:411 Length Required。当将debug添加到springboot 3.2.0应用程序时,似乎没有使用springboot 3.2.0设置“Content-length”header。当运行Spring 3.1.5时,即使使用相同版本的HttpClient,也会设置“Content-Length”。
如果我发送一个空字符串(“”),当没有主体的post请求,这是工作的。同样,当我手动序列化对象到字符串,它的工作。
1条答案
按热度按时间0yg35tkg1#
发行说明解释了为什么没有Content-Length。
下面是我的Springboot 3.2.0的RestTemplate,它设置了Content-Length:
字符串
添加
BufferingClientHttpRequestFactory
允许Content-Length作为头文件添加。