gpt4 book ai didi

java - requestFactory(Class) 类型 RestTemplateBuilder 不适用

转载 作者:搜寻专家 更新时间:2023-11-01 01:20:07 25 4
gpt4 key购买 nike

我在我的项目中使用 springBootVersion = '2.0.1.RELEASE'。我正在尝试为我编写的 RestClientCertTestConfiguration 类编写相互身份验证代码,如下所示。我在 requestFactory 上收到错误。RestTemplateBuilder 类型中的方法 requestFactory(Class) 不适用于参数 (HttpComponentsClientHttpRequestFactory)关于如何解决此问题的任何建议?谢谢

    @Configuration
public class RestClientCertTestConfiguration {

private String allPassword = "mypassword";

@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) throws Exception {

SSLContext sslContext = SSLContextBuilder
.create()
.loadKeyMaterial(ResourceUtils.getFile("classpath:myCerts.jks"), allPassword.toCharArray(), allPassword.toCharArray())
.loadTrustMaterial(ResourceUtils.getFile("classpath:myCerts.jks"), allPassword.toCharArray())
.build();

HttpClient client = HttpClients.custom()
.setSSLContext(sslContext)
.build();

return builder
//error on this line
.requestFactory(new HttpComponentsClientHttpRequestFactory(client))
.build();
}

}

最佳答案

requestFactory方法采用类或 Supplier<ClientHttpRequestFactory>所以你需要做:

.requestFactory(HttpComponentsClientHttpRequestFactory.class)

.requestFactory(() -> new HttpComponentsClientHttpRequestFactory(client))

大概是后者,因为你想传入 client .

关于java - requestFactory(Class<? extends ClientHttpRequestFactory>) 类型 RestTemplateBuilder 不适用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53675422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com