使用 spring 云网关合并来自两个微服务的结果
Use spring cloud gateway to merge results from two microservices
假设我有两个微服务,支付和公司。我有一个端点 /payments/late,其中 return 是延迟付款列表:
[{'id': 1, due_date: 2019-05-05, value: 1234.123, company_id: 5}]
我想在我的前端应用程序上创建一个 table 来显示这样的 table?
付款:
Company Name | Due Date | Amount
XXX | 05/05/2018 | 1234.12
所以我的前端应用程序必须从两个不同的微服务调用两个 Web 服务。
我正在考虑添加一个 API 网关标签,负责:
a) 调用支付网络服务。
b) 从支付网络服务 return 获取 ID 并调用公司网络服务以获取公司数据。
c) 将公司数据与支付数据合并为一个 json:
[{'id': 1, due_date: 2019-05-05, value: 1234.123, company_id: 5, company_name: "XXXXX"}]
或类似的东西。
是否可以使用 Spring 云网关来做到这一点?
您可以使用 Feign Client 从 Payments Webservice 调用您的公司 Webservice,然后将结果合并到 Payments Webservice 中,然后 return 将其合并到 UI。
从UI调用/payments/late
得到合并结果
假设我有两个微服务,支付和公司。我有一个端点 /payments/late,其中 return 是延迟付款列表:
[{'id': 1, due_date: 2019-05-05, value: 1234.123, company_id: 5}]
我想在我的前端应用程序上创建一个 table 来显示这样的 table?
付款:
Company Name | Due Date | Amount
XXX | 05/05/2018 | 1234.12
所以我的前端应用程序必须从两个不同的微服务调用两个 Web 服务。
我正在考虑添加一个 API 网关标签,负责:
a) 调用支付网络服务。 b) 从支付网络服务 return 获取 ID 并调用公司网络服务以获取公司数据。 c) 将公司数据与支付数据合并为一个 json:
[{'id': 1, due_date: 2019-05-05, value: 1234.123, company_id: 5, company_name: "XXXXX"}]
或类似的东西。
是否可以使用 Spring 云网关来做到这一点?
您可以使用 Feign Client 从 Payments Webservice 调用您的公司 Webservice,然后将结果合并到 Payments Webservice 中,然后 return 将其合并到 UI。
从UI调用/payments/late
得到合并结果