RestTemplate
如果需要从应用程序调用远程REST服务,可以使用Spring Framework的RestTemplate
类。由于 RestTemplate
实例在使用之前通常需要自定义,因此Spring Boot不提供任何单个自动配置的RestTemplate
bean。但是,它会自动配置a RestTemplateBuilder
,可用于RestTemplate
在需要时创建实例。自动配置RestTemplateBuilder
可确保将敏感 HttpMessageConverters
应用于RestTemplate
实例。
以下代码显示了一个典型示例:
1 |
|
RestTemplateBuilder
包括许多可用于快速配置a的有用方法RestTemplate
。例如,要添加BASIC auth支持,您可以使用builder.basicAuthentication("user", "password").build()
。
RestTemplate自定义
RestTemplate
自定义有三种主要方法,具体取决于您希望自定义应用的广泛程度。
要使任何自定义的范围尽可能窄,请注入自动配置 RestTemplateBuilder
,然后根据需要调用其方法。每个方法调用都返回一个新RestTemplateBuilder
实例,因此自定义只会影响构建器的这种使用。
要进行应用程序范围的附加定制,请使用RestTemplateCustomizer
bean。所有这些bean都自动注册自动配置RestTemplateBuilder
,并应用于使用它构建的任何模板。
以下示例显示了一个自定义程序,它为所有主机配置代理的使用,但192.168.0.5
以下情况除外:
1 | static class ProxyCustomizer implements RestTemplateCustomizer { |
最后,最极端(很少使用)的选项是创建自己的 RestTemplateBuilder
bean。这样做会关闭自动配置 的RestTemplateBuilder
并阻止使用任何RestTemplateCustomizer
bean。