首页 > 解决方案 > 在同一个 Spring Boot 应用程序中进行 REST 模板调用和 Web 客户端调用

问题描述

我有一个 Spring Boot 应用程序,其中我正在使用 Web Client 调用一个外部 api,并使用 RestTemplate 调用另一个 api。Rest Template 实例中设置的 Headers 是否也有可能在 Web Client 实例中使用。我的 RestTemplate 调用正在工作,但我的 WebClient 调用失败,它提供了不正确的参数,可能是因为标题。有人可以帮忙吗

标签: javaspring-boothttp-headerswebclientresttemplate

解决方案


您可以使用作为 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);

}

推荐阅读