J'essaie d'implémenter des mutations avec une variable. Mais j'obtiens l'erreur suivante:
"Syntax Error GraphQL request (3:22) Expected Name, found $
2: mutation {
3: createProperty($property) {
^
4: id
"
Mon schéma ne dit absolument rien sur un nom, c'est pourquoi je pense que cette erreur est si étrange .. Je ne pense pas non plus que les documentations sur graphql/apollo soient très bonnes.
Appel de la mutation du client:
const property = {
title: 'First house',
cost: 849,
bedrooms: 3,
bathrooms: 2,
car_spaces: 1,
house_size: 60,
};
const createPropertyQuery =
graphql(gql`
mutation {
createProperty($property) {
id
}
}
`, {
options: {
variables: {
property,
},
},
});
const { data } = await apolloClient.query({
query: createPropertyQuery,
});
Schéma:
type Property {
title: String!
cost: Float
user: User
bedrooms: Int!
bathrooms: Int!
car_spaces: Int!
house_size: Int!
}
input propertyInput {
title: String!
cost: Float
bedrooms: Int!
bathrooms: Int!
car_spaces: Int!
house_size: Int!
}
type RootMutation {
createProperty (
property: propertyInput
): Property
}
Vous devez d'abord mentionner le nom du paramètre!
mutation CreatePropertyMutatuin($property: propertyInput){
createProperty(property: $property) {
id
}
}