如何解决如果参数为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 举报,一经查实,本站将立刻删除。