Как создать массив массивов в качестве входных данных в ApolloGraphQL - PullRequest
0 голосов
/ 27 мая 2020

Как я могу создать массив массивов в качестве входных данных в ApolloGraphQL ?

Например, какой должна быть схема для такого запроса:

{
    Users(Id:1, Filters:[["Id",">", "1"], ["Id","<","3"]]) {
      Id
      Name
    }
}

Я пробовал следующую схему, но не повезло:

const typeDefs = gql`
  type Query{
      Users(
        Id: ID,
        Filters: [[String, String, String]]
      )
   }
 `;

Я пытаюсь достичь здесь типа ввода, который представляет собой Список списков с каждым из дочерних списков содержащий ровно 3 строки. Так что внутри функции его можно вызвать так: Filters:[["Id",">", "1"], ..]

Ответы [ 2 ]

1 голос
/ 28 мая 2020

Привет, Андер. Я тоже пытался добиться чего-то подобного, но тоже не повезло. Вместо этого я использовал список объектов:

const typeDefs = gql`
  type Query{
      Users(
        Id: ID,
        Filters: [Filter]
      )
  }

  input Filter{
    A: String!
    B: String!
    C: String!
  }
`;

В конце он будет выглядеть так:

{
    Users(Id:1, Filters:[{A:"Id",B:">", C:"1"}, ..]) {
      Id
      Name
    }
}
0 голосов
/ 03 августа 2020

Похоже, это было проще, чем я, но достаточно использовать [[String]]:

const typeDefs = gql`
  type Query{
      Users(
        Id: ID,
        Filters: [[String]]
      )
   }
 `;

...