如何解决API数据聚合是生产者责任还是消费者责任?
API 数据聚合是消费者的责任还是生产者的责任?我们将 OCELET 用于 API 中的一些数据聚合
这里有两个场景:
• 如果 API 位于两个不同的系统/应用程序中,那么我认为消费者有责任汇总 API 响应,如果我错了,请纠正我
• 如果 API 位于同一个系统中,并且我们有多个端点提供不同的数据信息,那么在这种情况下,我们应该汇总数据并将其提供给消费者还是消费者也有责任?
例如:
EndPoint 1:
/products/{code} --> giving product inforamtion
Endpoint 2:
/products/{code}/packages --> provides packages for a given productcode
Endpoint 3:
/products/{code}/suppliers --> provides suppliers for a given product code
Endpoint 4:
/products/{code}/shelfTags --> provides shelfTags for a given product code
如果消费者需要说产品和供应商信息,或者生产者有责任汇总信息并将其提供给他们,那么用户或消费者是否应该调用上述端点来汇总信息?
注意:并非所有用户都需要汇总信息某些客户只需要产品信息,以下是组合,并且因消费者而异,我们如何实施。
1. product info only --> **consumer 1**
2. product,packages info --> **consumer 1**
3. product,suppliers info --> **consumer 2**
4. product,supplier,packages info --> **consumer 3**
5. product,shelftags --> **consumer 4**
6. product,shelftags --> **consumer 4**
7. etc...
这里的 API 设计策略是什么从生产者公开端点并要求消费者使用 OCELET 编写他们自己的单个端点,然后反过来调用我们端的多个端点来进行数据聚合?
或
在我们的终端(生产者)写下消费者所需的端点,它将聚合必要的数据并将其提供给他们?基本上是谁的工作,是否有任何 API 指南,请提出建议。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。