1.介绍

在这个快速的教程中,我们将看看如何配置春天resttemplate.豆角,扁豆。

让我们首先讨论三种主要配置类型:

  • 使用默认值resttemplateBuilder.
  • 用一个resttemplatecustomizer
  • 创造自己的resttemplateBuilder.

为了能够轻松测试,请按照“指南”如何设置一个简单的Spring Boot应用程序

2.使用默认配置resttemplateBuilder.

配置A.resttemplate.这样,我们需要注入默认值resttemplateBuilder.豆靴提供的豆进入我们的课程:

私有reastemplate resttemplate;@autowifired publy hellocontroller(resttemplateBuilder Builder){this.resttemplate = builder.build();}

resttemplate.用这种方法创建的bean有它范围限于我们建立它的课程

3.使用a配置resttemplatecustomizer

通过这种方法,我们可以创建一个应用范围,附加定制。

这是一种稍微复杂的方法。为此,我们需要创建一种实现的类resttemplatocustomizer,并将其定义为豆:

公共类CustomRestTemblateMustomizer实现RestTemplateCustomizer {@override公共void自定义(resttemplate resttemplate){resttemplate.getInterctionsctiveors()。添加(新的customclienthttprokeestinterceptor());}}

customclienthttprokeestinterceptor拦截器正在进行请求的基本日志记录:

公共类CustomClientHttpRequestInterceptor实现ClientHttpereStinterceptor {私有静态记录记录器= loggerFactory .getlogger(customClientHttpRequestInterceptor.class);@override public client clienthttpresponse拦截(httprequest请求,byte [] body,clienthttprequestexecution执行)抛出IoException {logreceestdetails(请求);返回执行.Execute(请求,身体);私人void logreceestdetails(httprequest请求){logger.info(“标题:{}”,请求.getheaders());logger.info(“请求方法:{}”,Request.getMethod());logger.info(“请求URI:{}”,Request.getURI());}}

现在,我们定义customRestTemplateMustomizer.作为配置类中的bean或我们的Spring Boot应用程序类:

@bean public succiderresttemplatemustomizer custom remplatecustomizer(){return new custom resttemplatecustomizer();}

使用此配置,每一个resttemplate.我们将在我们的应用程序中使用的是它将设置自定义拦截器。

4.通过创建自己的配置resttemplateBuilder.

这是定制a最极端的方法resttemplate。禁用默认自动配置resttemplateBuilder.所以我们需要自己定义它:

@bean @dependson(value = {“customaresttemplatecustomizer”})公共resttemplateBuilder restTemplateBuilder(){return new resttemplateBuilder(CustomRestTemplateCustomizer());}

在此之后,我们可以注入自定义构建器进入我们的课程,如我们的缺点resttemplateBuilder.并创建一个resttemplate.照常:

私有reastemplate resttemplate;@autowifired publy hellocontroller(resttemplateBuilder Builder){this.resttemplate = builder.build();}

结论

我们看到了如何配置aresttemplate.有默认值resttemplateBuilder.,建立自己的resttemplateBuilder,或使用A.resttemplatecustomizer豆角,扁豆

一如既往地,可以在我们的情况下找到此示例的完整代码库github存储库

通用底部

使用Spring 5和Spring Boot 2开始,通过学习春天课程:

>>查看课程
评论在本文上关闭!