我正在研究如何在我的项目中使用API网关。我目前的API网关模式的想法是创建一个复合API层,调用多个API,并通过API网关公开复合API。
在其他地方进行研究,我发现如果使用API网关,建议不要创建复合API,而是应该在API网关本身中进行组合。但是如果我需要在API网关中进行组合,那么这并不意味着我需要在那里公开一些域逻辑,因为我需要构建一个有意义的请求契约以及可能的一系列调用API吗?就个人而言,我觉得这样做并不舒服。
在没有暴露某些逻辑的情况下,还有其他方法吗?
答案 0 :(得分:1)
你可以参考你在哪里找到声明吗?根据我的研究,如果使用API网关,建议不要创建复合API,但组合应该在API网关本身中进行。
恕我直言,服务组合不是api网关的任务。这是n集成层的任务(您不需要单独的esb产品或服务,在集成lyer下,您可以理解实现功能的任何服务或服务层,例如组合,转换等)
您没有指定任何api产品或服务,它取决于产品是否能够执行任何逻辑(有些做,有些不做)。即使api网关产品能够执行任何逻辑,实际上我也不推荐它(你将不得不与维护,错误和状态处理,...)
但是如果我需要在API网关中进行组合,这不意味着我需要在那里公开一些域逻辑 (就我个人而言,我觉得这样做感觉不舒服)因为我需要构建一个有意义的请求契约和可能的调用API序列?
composition in API gateway
你是什么意思?我假设在执行某些逻辑的术语下。然后从api客户端隐藏逻辑。
或者它可以是复合API声音层更好吗?
确实
通常尝试将api网关视为智能代理(执行授权,限制,面向客户端的API存储,...),但暴露的后端服务应该已经公开,因为它们是