繁体   English   中英

既不是突变也不是查询的Apollo / GraphQL操作

[英]Apollo/GraphQL actions that are neither mutations nor queries

有时您需要您的API来执行不涉及检索或处理数据的操作。 例如,发送“忘记密码”电子邮件或与第三方API交互。

Apollo(或GraphQL本身)是否具有推荐的方法来实现此目的?

如果没有,有什么解决方案可以做到这一点,同时又能利用Apollo的优势(例如模式/类型检查)?

查询和变异之间的区别主要是学术上的 虽然规范将突变定义为“先写后取”,但您可以认为查询是幂等且无副作用的,而突变则可以。 从这个意义上讲,密码重置请求可能不会更改数据库中的任何内容,但是肯定没有副作用,因此应该是一个突变。

根据经验,任何可以描述为动作的内容(“创建”,“更新”,“重置”,“发送”等)都可能是突变。 这也影响了客户端的使用,因为许多客户端(即Apollo)期望使用的变异与查询客户端的方式有所不同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM