gpt4 book ai didi

graphql - "else"与 GraphQL

转载 作者:行者123 更新时间:2023-12-05 09:13:11 25 4
gpt4 key购买 nike

如何使用 GQL 指令实现“else”效果

有一种方法可以使用 gql 有条件地获取某些东西使用 @include(if: $withFriends)

query Hero($episode: Episode, $withFriends: Boolean!) {
hero(episode: $episode) {
name
friends @include(if: $withFriends) {
name
}
}
}

但如果 $withFriends 为假,我想获取其他内容。我可以通过传递额外的变量 $notWithFriends

来实现它
query Hero($episode: Episode, $withFriends: Boolean!) {
hero(episode: $episode) {
name
friends @include(if: $withFriends) {
name
}
appearsIn @include(if: $notWithFriends)
}
}

问题:是否可以避免使用额外的变量?

像这样:@include(else: $withFriends)@include(ifNot: $withFriends)@include(if: !$withFriends )

最佳答案

您可以使用 @skip 指令,它的工作方式与 @include 相反——如果 if 参数为 true:

query Hero($episode: Episode, $withFriends: Boolean!) {
hero(episode: $episode) {
name
friends @include(if: $withFriends) {
name
}
appearsIn @skip(if: $withFriends)
}
}

这样,如果$withFriendstrue,则只会选择namefriends。如果为false,则只有nameappearsIn会被选中。

关于graphql - "else"与 GraphQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56591874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com