Синтаксис Graphql для одного запроса для одного поля с разными параметрами из массива - PullRequest
1 голос
/ 19 февраля 2020

Я ищу что-то похожее на псевдопросмотр ниже:

query users($ids: [String!]) {
 "id from $ids": getUser(id){
    id
    name
    dob
  } 
}

Чтобы получить ответ типа:

data: {
 '039ccf5c-3070-4368-b790-0884669e759d': {id: '039ccf5c-3070-4368-b790-0884669e759d', name: 'u1', 'dob': 12-12-12'},
'139ccf5c-3070-4368-b790-0884669e759d': {id: '139ccf5c-3070-4368-b790-0884669e759d', name: 'u1', 'dob': 12-12-12'},
}

Возможно ли это?

1 Ответ

0 голосов
/ 19 февраля 2020

Вы можете использовать псевдонимы для многократного запроса к одному и тому же полю:

query users($id1: String!, $id2: String!) {
  user1: getUser(id: $id1) {
    ...UserFragment
  }
  user2: getUser(id: $id1) {
    ...UserFragment
  }
}

fragment UserFragment on User {
  id
  name
  dob
}

В GraphQL нет управляющих структур, поэтому нет способа l oop через значение, являющееся списком. Если ваш список идентификаторов имеет переменную длину, вам придется программно создать запрос, аналогичный приведенному выше, динамически генерируя определения переменных и псевдонимы полей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...