Как передать параметр во вложенном запросе в graphql? - PullRequest
0 голосов
/ 30 сентября 2019
  {
        player(id : "Pogba") {
            name,
            kit {
                shirtSize,
                bootSize
            }
        }
    }

Вышеупомянутый код работает нормально, но мне нужно

{
    player(id : "Pogba") {
        name,
        kit (name:name){
            shirtSize,
            bootSize
        }
    }
}

, но мне нужно передать ответ на запрос игрока на запрос набора с вложенным форматом. Возможно ли этого добиться? Цени любую помощь.

Ответы [ 2 ]

0 голосов
/ 01 октября 2019

Вы можете получить ответ на запрос игрока в качестве первого аргумента в преобразователе уровня поля набора.


type Kit {
  shirtSize: String
  bootSize: String
}

type Player {
  name: Stirng
  kit: Kit 
}


const PlayerResolver = {
  Player: {
    kit: {
      // language=GraphQL
      fragment: `fragment PlayerFragment on Player { name }`,
      resolve: async (parent, args, context, info) => {
         // you can access the parent object to fetch its parent data;
         console.log(parent.name);
      }
    }
  }
};

export default PlayerResolver;

0 голосов
/ 30 сентября 2019

Просто нужно определить по типу, что поле может принимать параметр

type Player {
  name
  kit (name: String): Name
}
...