Итак, я пытаюсь выяснить, как передать массив объектов из запроса POST на сервер apollo на AWS lambda.
Я проверил это, но это не та же проблема
Массив объектов преобразуется в объект объектов, когда я использую Apollo
Запрос на публикацию выглядит следующим образом ...
api.post('query', { query : `mutation {saveNewItem(description: "${description}", specials: ${JSON.stringify(specials)}){name}}`})
// comment to get rid of silly scroll bar overlapping code
Схема выглядит следующим образом ...
const { gql } = require('apollo-server-lambda')
const typeDefs = gql`
type ShoppingItem {
description: String
specials: [Specials]
}
input Specials {
description: String
price: String
qty: String
saved: String
}
type Mutation {
saveNewItem(description: String!, specials: [Specials]) : ShoppingItem
}
`
пример Specials выглядит так ...
[{ // Object One
description: "First One"
price: "1.00"
qty: "1"
saved: "false"
},{ // Object two
description: "Second One"
price: "1.00"
qty: "1"
saved: "false"
}]
Ошибка, которую я получаю в настоящее время ...
'Error: The type of ShoppingItem.specials must be Output Type but got: [Specials].',
'at assertValidSchema (/Users/me/Desktop/Projects/app/build/node_modules/graphql/type/validate.js:71:11)',
Если я изменяю его на обычный «тип», он жалуется, что он не является типом ввода.
Я также просматривал документацию по серверу apollo и не могу понять, что я делаю неправильно?
Пожалуйста, как отметил Даниэль в комментариях, хотя технически «дублированный» ответ является правильным, информация, предлагаемая здесь, гораздо более качественная и полезная для людей, сталкивающихся с проблемой (на мой взгляд)