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