如果参数为null,GraphQL查询默认返回all
我有一个简单的问题,我目前正在使用GraphQL/Hasura订阅一些数据,这个订阅使用一个id作为参数,但是在id为null的情况下,我的subcription默认返回所有数据 以下是订阅:如果参数为null,GraphQL查询默认返回all,graphql,apollo,Graphql,Apollo,我有一个简单的问题,我目前正在使用GraphQL/Hasura订阅一些数据,这个订阅使用一个id作为参数,但是在id为null的情况下,我的subcription默认返回所有数据 以下是订阅: subscription MySubscription($id: Int) { dcim_device(where: { virtual_chassis_id: { _eq: $id } }) { id name serial site_id status
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);
},
},
},
},
正如您所看到的,“节点”可以根据用户单击进行更改,在我的示例中,有些节点的虚拟\u机箱\u id为空
我想知道是否有可能捕捉到这样的情况,即没有为查询提供参数以显示其他内容
提前谢谢