【问题标题】:How to have subscription resolve a union type?如何让订阅解析联合类型?
【发布时间】:2019-08-01 13:28:40
【问题描述】:

我有一个返回联合类型的突变。

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

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

问题

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

  2. 订阅是否有更简洁的方式来进行自动类型解析?

【问题讨论】:

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


    【解决方案1】:

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

    您的架构中订阅字段的返回类型必须与相应突变字段的返回类型匹配。

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

    订阅更新任务(类型:字符串!):任务 @aws_subscribe(mutations: ["updateTask"])

    【讨论】:

      猜你喜欢
      • 2019-06-30
      • 2020-11-25
      • 2011-03-31
      • 2018-02-28
      • 1970-01-01
      • 2019-08-01
      • 2019-12-14
      • 2011-12-05
      相关资源
      最近更新 更多