【问题标题】:Meteor Methods vs. GraphQL MutationsMeteor 方法与 GraphQL 突变
【发布时间】:2017-10-25 15:05:18
【问题描述】:

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

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

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

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

希望找到有关此主题的一些说明。谢谢!

【问题讨论】:

    标签: meteor graphql apollo


    【解决方案1】:

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

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

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

    但是,保存 Meteor 方法来处理需要验证的高度可变结构(例如 XML 文件)的数据可能很诱人,但无法给出 GraphQL 查询和突变体要求。所以从这个意义上说,两者可以“一起工作”,因为 Meteor 方法并不那么严格。

    也就是说,使用 GraphQL 方法会带来一大堆好处,这些好处是您仅使用流星方法无法获得的,例如缓存规范化、过滤数据并仅检索您想要检索的内容的能力以及订阅。

    【讨论】:

      猜你喜欢
      • 2021-08-22
      • 2019-01-23
      • 2021-03-09
      • 1970-01-01
      • 1970-01-01
      • 2018-09-20
      • 2016-05-06
      • 2020-02-18
      • 2019-06-18
      相关资源
      最近更新 更多