Возможно ли иметь мутацию GraphQL, которая содержит различные входные значения для определенного ключа c? - PullRequest
0 голосов
/ 12 июля 2020

С моего клиента я пытаюсь отправить что-то со следующей структурой на свой сервер ...

{
  pet: cat,
  food: [
    {
      brand: "Meow Mix",
      types: "dry"
    },
    {
      brand: "Friskies",
      types: {
         type1: dry,
         type2: wet,
      }, 
    },
    
  ]
}

Вы можете видеть, что types может быть string или object . Предположим, что в массив будут добавлены другие бренды, которые будут содержать либо string, либо object для types. Можно ли вообще отправить такую ​​структуру через GraphQL? Если да, то как будет структурирован тип? В идеале было бы здорово использовать здесь union, но он недоступен для мутаций.

input Pets {
  pet: String!,
  food: [Brands!]!
}

input Brands {
  brand: String!,
  types: String! | FoodOptions  // here is where I'm getting stuck. i know `or` isn't possible but don't know of a different solution.
}

input FoodOptions {
  type1: String!,
  type2: String
}
...