gpt4 book ai didi

spring - Spring Boot 中的多个休息模板

转载 作者:行者123 更新时间:2023-12-04 10:56:32 25 4
gpt4 key购买 nike

我想配置多个休息模板客户端来访问不同的 API。两者都有不同的授权 header 。我已经配置了一个,同样的方式也配置了其他 rest 模板,但是抛出错误 bean 'restTemplate' defined in class path resource .class could not be registered. .

@Configuration
public class RestTemplateConfig {


@Autowired
private HeaderRequestInterceptor headerRequestInterceptor;

//constructor
public RestClientConfig() {}

@Bean
public RestTemplate restTemplate( RestTemplateBuilder builder ) {
RestTemplate restTemplate = builder.build();
restTemplate.setInterceptors(Collections.singletonList(headerRequestInterceptor));
return restTemplate;
}

}

HeaderRequestInterceptor 具有 base64 编码授权,因此无法在此处发布该代码。

另一个 RestTemplate:
@Configuration
public class AnotherRestClientConfig {


@Autowired
private AnotherHeaderRequestInterceptor anotherHeaderRequestInterceptor;

@Bean
public RestTemplate restTemplate( RestTemplateBuilder builder ) {
RestTemplate restTemplate = builder.build();
restTemplate.setInterceptors(Collections.singletonList(anotherHeaderRequestInterceptor));
return restTemplate;
}
}

有人可以让我知道如何在应用程序中配置多个休息模板。

最佳答案

你可以用 @Qualifier正如@VirtualTroll 所提到的。或者为每个 api 创建一个特定的客户端 bean 并在那里保存 restemplate 实例。

@Component
public class ApiClient1 {

private final RestTemplate customRestTemplate;

public ApiClient1() {
this.customRestTemplate = ...
}

public void useApi() {
}
}

关于spring - Spring Boot 中的多个休息模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59144415/

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