java - 在同一个 Spring Boot 应用程序中进行 REST 模板调用和 Web 客户端调用
问题描述
我有一个 Spring Boot 应用程序,其中我正在使用 Web Client 调用一个外部 api,并使用 RestTemplate 调用另一个 api。Rest Template 实例中设置的 Headers 是否也有可能在 Web Client 实例中使用。我的 RestTemplate 调用正在工作,但我的 WebClient 调用失败,它提供了不正确的参数,可能是因为标题。有人可以帮忙吗
解决方案
您可以使用作为 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);
}
推荐阅读
- django - 如何在 Django 中检查或设置房间可用性
- apache-kafka - 读取 Kafka 消息并设置该消息由客户端处理
- python - 如何仅合并熊猫数据框中某列的行中没有值的行
- php - 模式上的更新按钮不起作用codeigniter ajax
- r - 函数不处理 R 中的输入参数
- javascript - CSV 到使用 Java/Javascript 的自定义 XML
- android - Android getLastKnownLocation 不更新
- php - PHP preg_split 用于带有大写和自定义字符的新行
- javascript - 在原型之前获取字符串的值
- angularjs - 错误:无法读取 null 的属性“令牌”