【问题标题】:restTemplate BufferingClientHttpRequestFactory breaking cookiesrestTemplate BufferingClientHttpRequestFactory 破坏 cookie
【发布时间】:2021-01-21 19:39:51
【问题描述】:

我正在使用 spring boot 调用另一个服务。当我的配置如下时,它不会添加从我正在调用的服务返回的 jsessionid(cookie)。

public RestTemplate restTemplate(RestTemplateBuilder restTemplateBuilder) {
    RestTemplate rt = restTemplateBuilder
        .rootUri(uri)
        .basicAuthentication(
                 username
                ,password)
        .additionalInterceptors(new RestTemplateInterceptor(stuff, stuff))
        .build();
    rt.setRequestFactory(new BufferingClientHttpRequestFactory(new SimpleClientHttpRequestFactory()));

    return rt;          
}

当我使用此配置调用时,它会从我调用的服务中添加 jsessionid(cookie)。

public RestTemplate restTemplate(RestTemplateBuilder restTemplateBuilder) {
    RestTemplate rt = restTemplateBuilder
        .rootUri(uri)
        .basicAuthentication(
                 username
                ,password)
        .build();
    
    return rt;          
}

我的问题是如何让 BuffereingClientHttpRequestFactory 将 jsessionid(cookie) 从之前的调用中添加到服务?

提前致谢

【问题讨论】:

    标签: spring-boot resttemplate spring-resttemplate


    【解决方案1】:

    这似乎解决了我的问题(查看 HttpComponentsClientHttpRequestFactory)

    public RestTemplate restTemplate(RestTemplateBuilder restTemplateBuilder) {
    RestTemplate rt = restTemplateBuilder
        .rootUri(uri)
        .basicAuthentication(
                 username
                ,password)
        .additionalInterceptors(new RestTemplateInterceptor(stuff, stuff))
        .build();
    rt.setRequestFactory(new BufferingClientHttpRequestFactory(new HttpComponentsClientHttpRequestFactory()));
    
    return rt;          
    

    }

    【讨论】:

      猜你喜欢
      • 2016-01-27
      • 2016-04-30
      • 2021-07-27
      • 2018-04-08
      • 1970-01-01
      • 1970-01-01
      • 2012-08-14
      • 1970-01-01
      • 2013-07-14
      相关资源
      最近更新 更多