Мне нужно иметь возможность создать продукт и добавить его levelwithskills (массив объектов, содержащий имя уровня и массив навыков) в одном запросе.
У меня есть эта схема:
input LevelData {
name: String!
skills: [SkillsData]!
}
input SkillsData {
name: String!
price: Int
duration: Int
stepbystep: String
teamchallange: String
}
type Mutation {
createProduct(productInputData: ProductInputData): String
}
input ProductInputData {
type: String!
passion: String!
course: String!
levelwithskills: [LevelData]
skills: [String]
startdate: String!
enddate: String!
}
Запрос, который я пытаюсь отправить
createProduct(productInputData: {
passion: "Tester"
course: "Java and BDD"
skills: ["HTML/CSS/JS"]
levelwithskills: [{
name: "Beginner"
skills: [{
name: "HTML/CSS/JS"
}]
},
{
name: "Intermediate"
skills: [{
name: "HTML/CSS/JS"
}]
}]
startdate: "2019-06-20T11:00:09.459Z"
enddate: "2019-06-20T11:30:09.459Z"
type: "privatelesson"
})
Но Graphql выдает ошибку, которая гласит:
Validation error of type WrongType: argument 'productInputData.levelwithskills[0]' with value 'ObjectValue{objectFields=[ObjectField{name='type', value=StringValue{value='privatelesson'}}, ObjectField{name='course', value=StringValue{value='Java and BDD'}}, ObjectField{name='passion', value=StringValue{value='Tester'}}, ObjectField{name='levelwithskills', value=ArrayValue{values=[EnumValue{name='object'}, EnumValue{name='Object'}]}}, ObjectField{name='skills', value=ArrayValue{values=[StringValue{value='HTML/CSS/JS'}]}}, ObjectField{name='startdate', value=StringValue{value='2019-06-19T16:00:00.000Z'}}, ObjectField{name='enddate', value=StringValue{value='2019-06-19T16:45:00.000Z'}}' must be an object type @ 'createProduct'