java– 如何删除Spring的RestTemplate添加的某些HTTP头?

java– 如何删除Spring的RestTemplate添加的某些HTTP头?,第1张

概述我遇到了远程服务的问题我无法控制对使用Spring的RestTemplate发送的请求的HTTP 400响应.使用curl发送的请求会被接受,因此我将它们与通过RestTemplate发送的请求进行了比较.特别是,Spring请求具有标题Connection,Content-Type和Content-Length,而curl请求则没有.如何配置Spring不

我遇到了远程服务的问题我无法控制对使用Spring的RestTemplate发送的请求的http 400响应.使用curl发送的请求会被接受,因此我将它们与通过RestTemplate发送的请求进行了比较.特别是,Spring请求具有标题Connection,Content-Type和Content-Length,而curl请求则没有.如何配置Spring不添加它们?最佳答案实际上这可能不是问题所在.我的猜测是你没有指定正确的消息转换器.但这是一种删除标题的技术,以便您可以确认:

1.创建自定义ClIEnthttpRequestInterceptor实现:

public class CustomhttpRequestInterceptor implements ClIEnthttpRequestInterceptor{   @OverrIDe   public ClIEnthttpResponse intercept(httpRequest request,byte[] body,ClIEnthttpRequestExecution execution) throws IOException   {        httpheaders headers = request.getheaders();        headers.remove(httpheaders.CONNECTION);        headers.remove(httpheaders.CONTENT_TYPE);        headers.remove(httpheaders.CONTENT_LENGTH);        return execution.execute(request,body);    }}

2.然后将其添加到RestTemplate的拦截器链:

@Beanpublic RestTemplate restTemplate(){   RestTemplate restTemplate = new RestTemplate();   restTemplate.setInterceptors(Arrays.asList(new CustomhttpRequestInterceptor(),new LoggingRequestInterceptor()));   return restTemplate;}
总结

以上是内存溢出为你收集整理的java – 如何删除Spring的RestTemplate添加的某些HTTP头?全部内容,希望文章能够帮你解决java – 如何删除Spring的RestTemplate添加的某些HTTP头?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1245803.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存