我使用graphql-relay定義了GraphQL突變,但在解決如何向其提交突變時遇到問題。將突變提交給graphql-relay突變的語法WithClientMutationId
下面是相關的模式:
const userType = new GraphQLObjectType({
name: 'User',
description: 'user',
fields:() => ({
id: {
type: new GraphQLNonNull(GraphQLString),
description: 'The UUID for the user.',
resolve(user) {
return user.uuid;
},
},
})
});
const registerUser = mutationWithClientMutationId({
name: 'registerUser',
inputFields: {
},
outputFields: {
user: {
type: userType,
resolve: (payload) => {
models.user.findById(payload.userId);
}
},
},
mutateAndGetPayload: (args) => {
var newUser = models.user.build().save();
return {
userId: newUser.id,
};
}
});
const rootMutation = new GraphQLObjectType({
name: 'RootMutationType',
fields: {
registerUser: registerUser,
},
});
const schema = new GraphQLSchema({
query: rootQuery,
mutation: rootMutation,
});
我應該HTTP調用模樣註冊一個新用戶,並取回用戶id?
謝謝!
有道理。謝謝瑞恩! –