在 Spring Cloud Gateway 中集成多个服务响应

sam*_*art 5 spring spring-cloud

当我获得请求表单路径时,例如 /bar 是否可以在 Spring Cloud Gateway 中调用多个微服务并集成它们的结果(例如 JSON)并作为 /bar 的响应发送?我该怎么做?谢谢

D.T*_*mov 0

您可以使用 ProxyExchange 来帮助您编写多个响应。

Spring Cloud给出的一个例子:

@RestController
@SpringBootApplication
public class GatewaySampleApplication {

    @Value("${remote.home}")
    private URI home;

    @GetMapping("/test")
    public ResponseEntity<?> proxy(ProxyExchange<byte[]> proxy) throws Exception {
        return proxy.uri(home.toString() + "/image/png").get();
    }

}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,它仅用于返回 ResponseEntity,但您可以根据需要使用它。根据您的情况,您可以组合多个 ResponseEntities。