如何在API网关中组合多个API调用?

时间:2018-05-06 05:47:36

标签: api-design api-gateway

我正在研究如何在我的项目中使用API​​网关。我目前的API网关模式的想法是创建一个复合API层,调用多个API,并通过API网关公开复合API。

在其他地方进行研究,我发现如果使用API​​网关,建议不要创建复合API,而是应该在API网关本身中进行组合。但是如果我需要在API网关中进行组合,那么这并不意味着我需要在那里公开一些域逻辑,因为我需要构建一个有意义的请求契约以及可能的一系列调用API吗?就个人而言,我觉得这样做并不舒服。

在没有暴露某些逻辑的情况下,还有其他方法吗?

1 个答案:

答案 0 :(得分:1)

  

根据我的研究,如果使用API​​网关,建议不要创建复合API,但组合应该在API网关本身中进行。

你可以参考你在哪里找到声明吗?

恕我直言,服务组合不是api网关的任务。这是n集成层的任务(您不需要单独的esb产品或服务,在集成lyer下,您可以理解实现功能的任何服务或服务层,例如组合,转换等)

您没有指定任何api产品或服务,它取决于产品是否能够执行任何逻辑(有些做,有些不做)。即使api网关产品能够执行任何逻辑,实际上我也不推荐它(你将不得不与维护,错误和状态处理,...)

  

但是如果我需要在API网关中进行组合,这不意味着我需要在那里公开一些域逻辑   (就我个人而言,我觉得这样做感觉不舒服)因为我需要构建一个有意义的请求契约和可能的调用API序列?

composition in API gateway你是什么意思?我假设在执行某些逻辑的术语下。然后从api客户端隐藏逻辑。

  

或者它可以是复合API声音层更好吗?

确实

通常尝试将api网关视为智能代理(执行授权,限制,面向客户端的API存储,...),但暴露的后端服务应该已经公开,因为它们是