Query Functions条件字段操作
条件字段操作
Included in the “Power Extensions” bundle
在 GraphQL 模式中添加元指令 @if 和 @unless,以便有条件地对字段执行嵌套指令。
@if
@if 仅在条件值为 true 时才执行其嵌套指令。
在此 query 中,用户 "Leo" 和 "Peter" 因为包含在「特殊用户」数组中,其名称会被转换为大写,而 "Martin" 则不会:
query {
users {
name
@passOnwards(as: "userName")
@applyField(
name: "_inArray"
arguments: {
value: $userName
array: ["Leo", "John", "Peter"]
}
passOnwardsAs: "isSpecialUser"
)
@if(
condition: $isSpecialUser
)
@strUpperCase
}
}...结果如下:
{
"data": {
"users": [
{
"name": "LEO"
},
{
"name": "Martin"
},
{
"name": "PETER"
}
]
}
}@unless
与 @if 类似,但在条件为 false 时执行嵌套指令。
在此 query 中,其他用户不会被转换,只有用户 "Martin" 的名称会被转换为大写:
query {
users {
name
@passOnwards(as: "userName")
@applyField(
name: "_inArray"
arguments: {
value: $userName
array: ["Leo", "John", "Peter"]
}
passOnwardsAs: "isSpecialUser"
)
@unless(
condition: $isSpecialUser
)
@strUpperCase
}
}...结果如下:
{
"data": {
"users": [
{
"name": "Leo"
},
{
"name": "MARTIN"
},
{
"name": "Peter"
}
]
}
}