我正在寻找设计模式/库来组合多个不同的端点,可见为一个。
假设我有3个端点,每个端点都返回相同类型的对象,当然对象是不同的,并且具有唯一的ID。我想创建一个调用所有端点的端点,结合结果,过滤&排序&页面,然后返回结果。
可能有很多对象,因此只有在更改某些东西时,可以拨打这三个终点可能会很好(假设我以某种方式知道我是否需要刷新缓存)。
我想有一个可以将多个端点连接到一个的库,缓存结果并提供过滤器&排序&页。假设某种形式的弹簧存储库:但是,数据不是从数据库中读取的,而是从缓存中读取的,从而从静止端点收集它们。
我正在查看诸如Spring Gateway或Zuul代理之类的网关设计模式,但它似乎只是包装器,没有可能的过程数据。
当然我可以手动做这样的事情:
- 创建控制器
- 致电三个端点(如果需要刷新)
- 填充缓存
- 从高速缓存,过滤器,页面读取数据,然后返回
但是,如果我需要多次执行此操作,我正在寻找库来做到这一点。
您可以在Spring Cloud Gateway中实现带有聚合和缓存的GatewayFilterFactory。但是它看起来像是控制器的创建。