小编Mar*_*rkD的帖子

我们应该使用两个GraphQL层吗?

我在一个使用单个GraphQL模式将REST API的数据公开给各种客户端的项目上工作。模式设计由前端团队“拥有”,其形状可以表示他们所看到的Universe。这将UI与API层巧妙地分离开来,并且运行良好。一些(设计欠佳但必不可少的)API相对复杂,需要领域知识(又称业务逻辑)才能将数据组成映射到UI架构的形式,但是随着将旧API拆开并重写,业务逻辑正在发生变化。 -因此问题是双重的:

  1. 解析器中存在填充GraphQL查询响应的有害业务逻辑
  2. 当API团队产生其服务的新版本并希望调用它时,UI团队不一定准备好更新其解析程序以调用它

我正在考虑引入第二个作为域模型的GraphQL实例,该实例将由API团队拥有,并抽象出如何调用每个API的细节以及组成UI架构要使用的原始数据。它确实带来了很小的性能开销,但从正面来看,这使Schema与API实现细节脱钩。

在研究这种方法时,我没有找到在其他地方尝试过这种方法的示例,因此想知道我是否错过了任何方法,或者这是否代表应该避免的反模式?

architecture graphql

10
推荐指数
1
解决办法
113
查看次数

标签 统计

architecture ×1

graphql ×1