在同一Spring引导应用程序中进行REST模板调用和Web客户端调用

时间:2019-09-30 07:00:45

标签: java spring-boot http-headers webclient resttemplate

我有一个Spring boot应用程序,其中我使用Web Client调用一个外部api,并使用RestTemplate调用另一个api。 Web客户端实例中是否还会使用在Rest Template实例中设置的Headers。我的RestTemplate调用正在工作,但我的WebClient调用失败,可能由于标头而给出了错误的参数。有人可以帮忙吗

1 个答案:

答案 0 :(得分:-1)

您可以使用Web应用程序请求中附带的标头来调用API:

private RestTemplate restTemplate;

@POST
@Path(REQUEST_API)
@Produces(APPLICATION_JSON_CHARSET_UTF_8)
public Response apiCall(
@Context HttpHeaders httpHeaders) {
     Map<String, List<String>> headers = httpHeaders.getRequestHeaders();
     restTemplate.exchange("EXTERNAL_API_TO_CALL", httpMethod, requestEntity, 
                           responseType);

}