流星方法与GraphQL突变

时间:2017-05-25 04:47:28

标签: meteor graphql apollo

我有一个现有的代码库,它使用Meteor方法从客户端获取请求并在服务器上执行数据库操作。我想尝试将这个项目转移到GraphQL,但是我无法理解这项工作的范围,特别是对于这些Meteor方法意味着什么。





A)GraphQL 替换 Meteor方法吗?那么我会在GraphQL查询,解析器和突变中重新实现这个逻辑吗?





B)GraphQL 是否与Meteor方法串联工作?即,客户端调用Meteor方法,内部调用服务器上的一个或多个突变?





C)GraphQL 并行工作流星方法有明显的关注点分离?即,所有数据库操作都被卸载到客户端变异调用,但所有其他进程(例如触发电子邮件和其他工作)仍然在Meteor方法中发生。





希望找到关于这个主题的一些澄清。 !谢谢




1 个答案:

答案 0 :(得分:4)

答案是:你可以做到这三点,但你应该做出决定并坚持下去。

我个人使用Meteor方法隐藏客户端的代码/验证方法的输入。从这个意义上说,当我切换到graphQL时,我完全“替换”了流星方法和流星的DPP模型。

然而,实际上没有什么可以阻止你在GraphQL解析器中调用流星方法。因为解析器是服务器端,所以没有真正的理由这样做。

然而,保存Meteor方法以处理需要验证的高度可变结构(例如XML文件)的数据可能很诱人,但不能给出GraphQL查询的“精确”结构。变异者要求。所以在这个意义上,两者可以“一起工作”,因为流星方法并不那么严格。

也就是说,使用GraphQL方法可以获得一大堆好处,而不仅仅是使用流星方法,例如缓存规范化,过滤数据的能力以及仅检索要检索的内容和订阅。