GraphQL_oneOf

oneOf

  • GraphQL - Input Objects#oneof
  • 入力オブジェクトのうちいずれか1つだけのフィールドが指定されていることが保証される機能
  • 以下の場合 namespecies のどちらか一方だけが指定されていることを意味する
    • 両方が指定されている場合や、どちらも指定されていない場合はエラーになる

GraphQL

  • @oneOf を記載する
input FindUserInput @oneOf {
  id: ID
  username: String
}

ruby

  • どちらも required: false
class FindUserInput < Types::BaseInput
  one_of
  # Either `{ id: ... }` or `{ username: ... }` may be given,
  # but not both -- and one of them _must_ be given.
  argument :id, ID, required: false
  argument :username, String, required: false
end