Как выполнить итерацию вложенного массива json в схеме graphql - PullRequest
1 голос
/ 06 марта 2019

У меня есть следующий вывод JSON с моего сервера NodeJS Apollo:

attributes:
   [ { id: 8,
       name: 'Size',
       position: 0,
       visible: true,
       variation: true,
       options: [Array] } ],

Теперь я хочу создать для этого схему graphql.Я могу получить доступ ко всем элементам, таким как id, position, visible ... но опции, к которым у меня нет доступа.

Как мне написать схему graphql для этого?Текущая схема:

 const ProductAttributes = `
      type ProductAttributes {
        id: Int!
        name: String!
        position: String!
        visible: Boolean!
        Variation: Boolean!
        // todo Options: [array] ?
      }
    `;

Я обнаружил, что массив параметров выглядит следующим образом, но ему не назначен ключ:

[ { id: 8,
    name: 'Size',
    position: 0,
    visible: true,
    variation: true,
    options:
     [ 'L32 W35',
       'L32 W36',
       'L32 W37',
       'L32 W38',
       'L28 W22',
       'L28 W23',
       'L28 W24',
       'L28 W25',
       'L32 W34' ] } ]

Нужно ли мне назначать ключ с помощью GraphQL??или я должен сделать это в моем запросе NodeJS ajax?

например: параметры: {имя: 'L32 W35', имя: 'l32 W36' и т. д. *

1 Ответ

1 голос
/ 06 марта 2019

Если [Array] является массивом object , вам нужно сделать это.

`
type ProductAttributes { 
        id: Int!
        name: String!
        position: String!
        visible: Boolean!
        Variation: Boolean!
        options: [String!] 
}
`

Если [Array] является массивом массива , то вкаждый последний внутренний массив должен принимать объект или строку, как указано выше.И вы можете обрабатывать эти шаги до последнего массива.Теперь в вашем случае массив строк, так что вы можете использовать прямой String type.

...