如果参数为null,则GraphQL查询默认返回所有

问题描述

我有一个简单的问题,我目前正在使用GraphQL / Hasura订阅一些数据,该订阅将id作为参数,但是在id为null的情况下,我的订阅认会返回所有数据...

这是订阅

subscription MySubscription($id: Int) {
  dcim_device(where: { virtual_chassis_id: { _eq: $id } }) {
    id
    name
    serial
    site_id
    status
    ip_address {
      address
    }
    dcim_platform {
      name
    }
    device_tags {
      tag_id
      extras_tag {
        id
        name
        color
      }
    }
    dcim_devicerole {
      color
      name
    }
    virtual_chassis_id
    dcim_virtualchassis {
      id
    }
    dcim_interfaces {
      enabled
      name
      id
      type
    }
  }
}

这是Vue.js前端部分,在其中我用Apollo调用订阅

apollo: {
    $subscribe: {
      dcim_device: {
        query: require("../../graphql/subscribetoNewDevicesByVCid.gql"),variables() {
          return {
            id: this.node.dcim_virtualchassis.id,};
        },result({ data }) {
          this.devices = data.dcim_device;
          console.log(this.devices);
        },},

如您所见,“节点”可以根据用户的点击而改变,在我的情况下,有些节点的virtual_chassis_id为空...

我想知道是否有可能捕获或类似的情况,在这种情况下没有为查询提供任何参数以显示其他内容

提前谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)