从多个服务器使用RESTful服务时,我可以使用相同的RestTemplate实例吗?

时间:2016-01-15 00:02:21

标签: spring rest spring-mvc resttemplate spring-rest

我的RestClient假设使用来自多个服务器的服务,每个服务器都有不同的主机名和凭据。

我理解RestTemplate is thread safe,并为每个任务创建不同的连接,但如何使用不同的凭据完成? 是否在创建时提供给RestTemplate的凭据?

1 个答案:

答案 0 :(得分:2)

您提到凭据,因此我假设您使用RestTemplate来呼叫需要身份验证的服务。身份验证通常通过HTTP请求标头(例如基本HTTP身份验证)或URL参数来处理。

2种可能性:

  • 您实例化普通RestTemplate并手动处理身份验证(通过在执行GETPOST时添加标头或网址参数...)=>将RestTemplate重用于多个服务应该没有问题。
  • 使用自定义RestTemplate或某些处理security =>的自定义ClientHttpRequestFactory来实例化ClientHttpRequestInterceptor您可能无法共享它们,因为您可能会混合不同的身份验证。