Java 重写应用于RestTemplate的RestTemplateCustomizer
我正在使用Java 重写应用于RestTemplate的RestTemplateCustomizer,java,spring-boot,resttemplate,apache-httpclient-4.x,Java,Spring Boot,Resttemplate,Apache Httpclient 4.x,我正在使用restemplatecustomizer为我的一个应用程序的restemplate配置公共配置。但是现在在我的一个客户机类中,我需要用一个不同的拦截器覆盖一个自定义拦截器 我可以在不使用restemplatebuilder的情况下获得restemplatebuilder的实例,并在此处添加我的所有配置,这些配置应该可以工作,但我真的不想要这种方法 解决这个问题的方法是将所有拦截器连接到restemplate,找到我的自定义拦截器1,删除它并添加新的自定义拦截器2 public My
restemplatecustomizer
为我的一个应用程序的restemplate
配置公共配置。但是现在在我的一个客户机类中,我需要用一个不同的拦截器覆盖一个自定义拦截器
我可以在不使用restemplatebuilder
的情况下获得restemplatebuilder
的实例,并在此处添加我的所有配置,这些配置应该可以工作,但我真的不想要这种方法
解决这个问题的方法是将所有拦截器连接到restemplate
,找到我的自定义拦截器1,删除它并添加新的自定义拦截器2
public MyRestClient( RestTemplateBuilder restTemplateBuilder) {
this.restTemplate = restTemplateBuilder.build();
for(int i=0 ;i<this.restTemplate.getInterceptors().size();i++) {
if(this.restTemplate.getInterceptors().get(i).getClass().getSimpleName().equalsIgnoreCase("MyCustomInterceptor1")){
this.restTemplate.getInterceptors().remove(i);
}
}
this.restTemplate.getInterceptors().add(new MyCustomInterceptor2());
}
公共MyRestClient(RestTemplateBuilder RestTemplateBuilder){
this.restTemplate=restTemplateBuilder.build();
对于(int i=0;i