在Apollo GraphQL中,如果在变异子字段上解析器未被调用,可能有以下解决方法:
mutation {
createUser(input: { ... }) {
id
name
}
}
makeExecutableSchema
函数或@graphql-tools/schema
模块来设置解析器。确保在配置中正确设置了变异字段的解析器。例如:const { makeExecutableSchema } = require('apollo-server');
const typeDefs = require('./schema');
const resolvers = {
Mutation: {
createUser: (parent, args) => {
// 处理创建用户逻辑
},
},
};
const schema = makeExecutableSchema({ typeDefs, resolvers });
const server = new ApolloServer({ schema });
useMutation
或Mutation
组件来发送变异操作。确保您正确设置了变异操作的类型和字段,并提供了正确的变异操作参数。例如:import { useMutation, gql } from '@apollo/client';
const CREATE_USER = gql`
mutation CreateUser($input: CreateUserInput!) {
createUser(input: $input) {
id
name
}
}
`;
const CreateUserForm = () => {
const [createUser, { data, error }] = useMutation(CREATE_USER);
const handleSubmit = (event) => {
event.preventDefault();
const input = { ... }; // 设置变异操作参数
createUser({ variables: { input } });
};
// 渲染表单和处理变异结果等逻辑
};
通过检查以上代码和配置,您应该能够解决在Apollo GraphQL中变异子字段解析器未被调用的问题。