Hàm Queries
Hàm QueriesThao Tác Trường Có Điều Kiện

Thao Tác Trường Có Điều Kiện

Included in the “Power Extensions” bundle

Bổ sung các meta directive @if@unless vào schema GraphQL, để thực thi có điều kiện một directive lồng nhau lên trường.

@if

@if thực thi các directive lồng nhau chỉ khi điều kiện có giá trị true.

Trong queries này, người dùng "Leo""Peter" có tên được chuyển thành chữ hoa vì họ nằm trong mảng "người dùng đặc biệt", trong khi "Martin" thì không:

query {
  users {
    name
      @passOnwards(as: "userName")
      @applyField(
        name: "_inArray"
        arguments: {
          value: $userName
          array: ["Leo", "John", "Peter"]
        }
        passOnwardsAs: "isSpecialUser"
      )
      @if(
        condition: $isSpecialUser
      )
        @strUpperCase
  }
}

...cho kết quả:

{
  "data": {
    "users": [
      {
        "name": "LEO"
      },
      {
        "name": "Martin"
      },
      {
        "name": "PETER"
      }
    ]
  }
}

@unless

Tương tự @if, nhưng thực thi các directive lồng nhau khi điều kiện là false.

Trong queries này, chính người dùng "Martin" có tên được chuyển thành chữ hoa, trong khi những người dùng khác thì không:

query {
  users {
    name
      @passOnwards(as: "userName")
      @applyField(
        name: "_inArray"
        arguments: {
          value: $userName
          array: ["Leo", "John", "Peter"]
        }
        passOnwardsAs: "isSpecialUser"
      )
      @unless(
        condition: $isSpecialUser
      )
        @strUpperCase
  }
}

...cho kết quả:

{
  "data": {
    "users": [
      {
        "name": "Leo"
      },
      {
        "name": "MARTIN"
      },
      {
        "name": "Peter"
      }
    ]
  }
}