Apollo/GraphQL 既不是突变也不是查询的动作
Apollo/GraphQL actions that are neither mutations nor queries
有时您需要 API 执行不涉及检索或操作数据的操作。例如,发送 "Forgot password" 电子邮件或与第三方互动 API.
Apollo(或 GraphQL 本身)是否有推荐的方法来完成此任务?
如果不是,有什么解决方案可以在利用 Apollo 的优势(例如 schema/type-checking)的同时实现这一目标?
查询和变更之间的区别是 . While the spec defines a mutation as a "a write followed by a fetch", you can think of queries as being idempotent and side-effect free,而变更是任何不是的东西。从这个意义上说,密码重置请求可能不会更改数据库中的任何内容,但它肯定不是没有 side-effects,因此应该是一个突变。
根据经验,任何可以描述为动作("create"、"update"、"reset"、"send" 等)的东西都应该是突变。这也影响了客户端的使用,因为许多客户端(即 Apollo)期望突变的使用方式不同于查询 client-side.
有时您需要 API 执行不涉及检索或操作数据的操作。例如,发送 "Forgot password" 电子邮件或与第三方互动 API.
Apollo(或 GraphQL 本身)是否有推荐的方法来完成此任务?
如果不是,有什么解决方案可以在利用 Apollo 的优势(例如 schema/type-checking)的同时实现这一目标?
查询和变更之间的区别是
根据经验,任何可以描述为动作("create"、"update"、"reset"、"send" 等)的东西都应该是突变。这也影响了客户端的使用,因为许多客户端(即 Apollo)期望突变的使用方式不同于查询 client-side.