java - Spring 休息模板

标签 java spring

在主类中返回新的休息模板有什么好处?

根据我的理解,通过在主类中注册一个Bean RestTemplate,我们基本上是提前注册它,然后每次我们在其他类中使用该字段Rest Template时,Spring会自动从容器中获取它。


    @Bean
    RestTemplate restTemplate() {
        return new RestTemplate();
    } 

最佳答案

Spring boot 提供默认的自动配置的剩余模板构建器。您应该使用构建器来创建休息模板。来自 spring 文档 boc 自动配置的 RestTemplateBuilder 将确保将合理的 HttpMessageConverters 应用于 RestTemplate 实例:

@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) {
    return builder.setReadTimeout(httpClientReadTimeout).build();
}

@Autowired
public MyController(RestTemplateBuilder builder) {
    this.restTemplate = = builder.build();
}

但通常您需要一个或多个额外的休息自定义休息模板。因此,您可以使用自定义配置创建另一个,例如添加一些 header 或 ObjectMapper 配置:

@Bean
RestTemplate myCustormRestTemplate() {
    RestTemplate restTemplate = new RestTemplate();
    restTemplate.getInterceptors().add(new MyClientHttpRequestInterceptor());
    retun restTemplate;
}

您还可以通过RestTemplateCustomizer自定义默认休息模板:

public class MyRestTemplateCustomizer implements RestTemplateCustomizer {
    @Override
    public void customize(RestTemplate restTemplate) {
        restTemplate.getInterceptors().add(new MyClientHttpRequestInterceptor());
    }
}

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

相关文章:

spring - 如何在没有 session 的情况下使用 Spring Security?

javascript - 从 Google App Engine (Java) 上传文件到 Google 云存储

java - 无法使用 @AllArgsConstructor 访问构造函数,但可以使用 @RequiredArgsConstructor

java - 类路径资源 [spring/config/BeanLocations.xml] 无法打开,因为它不存在

java - 确定文件是否以 EOF 字符正确结束

spring - AuthenticationManager/角色

java - JPA 2.0 & Hibernate 4.0.1 & Spring 3.1.1 兼容性

java - Spring MVC 表单处理和 Spring 标签

java - Spring Boot 中的 Maven 依赖问题

java - Java 中 AES 加密的初始化 vector (IV) 是否包含密码?