我在一个使用单个GraphQL模式将REST API的数据公开给各种客户端的项目上工作。模式设计由前端团队“拥有”,其形状可以表示他们所看到的Universe。这将UI与API层巧妙地分离开来,并且运行良好。一些(设计欠佳但必不可少的)API相对复杂,需要领域知识(又称业务逻辑)才能将数据组成映射到UI架构的形式,但是随着将旧API拆开并重写,业务逻辑正在发生变化。 -因此问题是双重的:
我正在考虑引入第二个作为域模型的GraphQL实例,该实例将由API团队拥有,并抽象出如何调用每个API的细节以及组成UI架构要使用的原始数据。它确实带来了很小的性能开销,但从正面来看,这使Schema与API实现细节脱钩。
在研究这种方法时,我没有找到在其他地方尝试过这种方法的示例,因此想知道我是否错过了任何方法,或者这是否代表应该避免的反模式?