如何让订阅解析联合类型?

时间:2019-03-11 09:05:53

标签: amazon-web-services graphql aws-appsync aws-amplify

我有一个变异,返回了 Union Type

  union Task = PersonalTask | OtherTask
  mutation updateTask(...) : Task
  subscription onUpdatePersonalTask(id: ID): PersonalTask
    @aws_subscribe(mutations: ["updateTask"])

但是由于突变(返回为Task,这是一个联合)和订阅(返回PersonalTask)中的类型不匹配,这会导致错误

问题

  1. 如何让订阅将突变联合类型解析为特定类型?

  2. 是否有一种更干净的订阅方式可以具有自动类型解析功能?

1 个答案:

答案 0 :(得分:1)

这可能只是该指令实现的限制。来自docs

  

模式中预订字段的返回类型必须与相应突变字段的返回类型匹配。

假设您要使用某种type字段来区分PersonalTaskOtherTask,一种解决方法是订阅所有任务,但使用一个参数缩小订阅范围:

订阅onUpdateTask(类型:字符串!):任务     @aws_subscribe(变异:[“ updateTask”])