将多个REST合并为一个

时间:2019-03-05 10:18:03

标签: rest caching spring-data netflix-zuul spring-cloud-gateway

我正在寻找设计模式/库,以将多个不同的端点组合为一个可视的端点。

比方说,我有3个端点,每个端点都返回相同类型的对象,当然,对象是不同的,并且具有唯一的ID。我想创建一个可以调用所有端点的端点,合并结果,过滤和排序与页面,然后返回结果。

可以有许多对象,因此最好在具有某些更改(例如,我以某种方式知道是否需要刷新缓存)时才调用这三个端点来进行缓存。

我想象有一个可以将多个端点连接到一个端点,缓存结果并提供过滤器,排序和页面的库。比方说,Spring存储库:但是,不是从数据库读取数据,而是从缓存读取数据,缓存是从REST端点收集数据的。

我当时在研究诸如Spring Gateway或Zuul Proxy之类的网关设计模式,但它似乎只是包装器,不可能处理数据。

我当然可以手动执行以下操作:

  • 创建控制器
  • 呼叫三个端点(如果需要刷新)
  • 填充缓存
  • 从缓存中读取数据进行排序,过滤,分页并返回它们

但是,如果我需要多次这样做,我正在寻找可以这样做的图书馆。

1 个答案:

答案 0 :(得分:0)

您可以在Spring Cloud Gateway中通过聚合和缓存来实现GatewayFilterFactory。但这看起来像是控制器的创建。