【发布时间】:2019-07-26 18:46:04
【问题描述】:
我正在寻找设计模式/库以将多个不同的端点组合为一个可见。
假设我有 3 个端点,每个端点都返回相同类型的对象,当然对象是不同的并且具有唯一的 id。我想创建一个端点来调用所有这些端点、合并结果、过滤和排序和分页,然后返回结果。
可以有很多对象,所以最好有缓存,只有在某些事情发生变化时才调用这三个端点(假设我知道是否需要刷新缓存)。
我想有一个库可以将多个端点连接成一个,缓存结果并提供过滤器、排序和页面。比如说,某种 Spring 存储库:但是数据不是从数据库中读取,而是从缓存中读取,缓存从 REST 端点收集它们。
我在看像Spring Gateway或者Zuul Proxy这样的Gateway设计模式,但它似乎只是一个包装器,不可能处理数据。
当然我可以手动做这些事情:
- 创建控制器
- 调用三个端点(如果需要刷新)
- 填充缓存
- 从缓存排序、过滤、分页读取数据并返回
但如果我需要多次执行此操作,我正在寻找库来执行此操作。
【问题讨论】:
标签: rest caching spring-data netflix-zuul spring-cloud-gateway