查询可以用于数据写入吗?

时间:2019-12-01 09:14:56

标签: graphql

对于我的GraphQL应用程序,我想保存某些已解析字段的日志。因为用户可以自己查看这些日志,所以应该将其视为突变而不是查询的一部分吗?

由于不是应用程序的重点,所以我认为使用突变是过大的,但是我不确定通过这种方式进行建模是否会产生某种副作用。

>

我读过的其他问题并未真正回答这个问题,对不起,如果它看起来像重复的话。

1 个答案:

答案 0 :(得分:2)

从概念上讲,Graphql查询和变异执行相同的操作,但是执行解析程序的方式不同。

对于以下查询:

{
  user {
    name
  }
  posts {
    title
  }
}

GraphQL实现可以自由选择以最佳顺序执行字段条目。 see here

对于以下突变:

{
  createUser(name: $String) {
    id
  }
  addPost(title: $String) {
    id
  }
}

GraphQL实现将依次执行每个Mutation。 see here

用这个来解释,Mutation关键字只是语法上的一句话,“嘿,这将要编辑或创建一些东西”。我认为,就您而言,执行查询并将事件存储在审核日志中是一个更好的决定。暴露查询存储审计日志这一事实是特定于实现的详细信息,客户不应该知道。