不带所有负载和端点的重定向 url?

问题描述 投票:0回答:1

我有一个 Angular 应用程序,带有 2 个 Spring Boot 应用程序:A 和 B

实际上是来自服务器A的角度调用api

我想改变这一点。

我希望 Angular 从服务器 B 调用 api,最后一个服务器调用服务器 A

如果有角度调用

128.12.124.12/server_b/api

有没有办法让服务器b直接调用/server_a/api,而不需要将所有端点、有效负载带到服务器B。

spring spring-boot spring-cloud-gateway
1个回答
0
投票

有一种方法可以做到这一点。但它不称为重定向。首先,这里有一个非常好的(简短的)指南,用于在 Spring Boot 中重定向和转发请求:A Guide To Spring Redirects。但看起来这就是您正在寻找的,服务器 B 在收到请求后将从原始请求中获取一些(或没有)传入数据,并对服务器 A 的端点之一进行独立调用。如果这在这种情况下,您可能希望使用任何 HTTP 客户端从服务器 B 向服务器 A 发送常规 HTTP 请求。换句话说,服务器 B 端点中的代码将成为服务器 A 的 HTTP 客户端。Spring boot 中有内置工具,例如 Rest Template 和 WebClient。您还可以使用独立的 HTTP 客户端,例如 Apache HTTP ClientOK HTTP Client

此外,我实际上编写了自己的 HTTP 客户端。虽然它不提供对所有极端情况的支持宽度,但它非常容易用于您可能想做的基本操作。这个 HTTP 客户端是我编写和维护的 MgntUtils 开源 java 库的一部分。这是HTTP 客户端 Javadoc。库工件可以在 Maven Central 上找到,也可以在 GitHub

上找到 Jar 文件(源代码和 Javadoc 作为单独的文件)
© www.soinside.com 2019 - 2024. All rights reserved.