在Apollo GraphQL中,mutation应该返回一个包含所需数据的对象。这通常是一个与查询的返回值相同的对象。
以下是一个示例解决方法,使用Apollo Client和GraphQL来执行mutation并返回数据:
npm install apollo-boost graphql
import ApolloClient from 'apollo-boost';
import gql from 'graphql-tag';
const client = new ApolloClient({
uri: 'https://example.com/graphql', // 替换为你的GraphQL API的URL
});
const CREATE_USER_MUTATION = gql`
mutation CreateUser($input: UserInput!) {
createUser(input: $input) {
id
name
email
}
}
`;
const input = {
name: 'John',
email: 'john@example.com',
};
client
.mutate({
mutation: CREATE_USER_MUTATION,
variables: { input },
})
.then(result => {
const user = result.data.createUser;
console.log(user); // 输出包含用户数据的对象
})
.catch(error => {
console.error(error);
});
在上面的示例中,我们定义了一个名为CREATE_USER_MUTATION
的mutation查询,它接受一个UserInput
对象作为参数,并返回一个包含id
、name
和email
字段的对象。然后,我们通过调用client.mutate
方法执行mutation,并在返回的结果中访问data.createUser
来获取返回的用户数据。
注意:
uri
属性的值为你的GraphQL API的URL。