我正试图通过TypeORM并使用SQL Server作为数据库来创建GQL突变。如果我试图运行突变,它会抛出异常。共享下面的代码;
指数.ts
(async () => {
const app = express();
await createConnection();
const apolloServer = new ApolloServer({
schema: await buildSchema({
resolvers: [UserRegistrationResolver, HealthResolver],
}),
tracing: true,
context: ({ req, res }) => ({ req, res })
});
apolloServer.applyMiddleware({ app, cors: false });
app.listen(4000, () => {
console.log("App is started");
})
})();
GQL类型:
@InputType()
export class UserRegistrationType {
/*......*/
@Field()
Reg_Security_Qus_Ans: string;
/*......*/
}
实体:
@ObjectType()
@Entity()
export class User_Registration extends BaseEntity {
/*......*/
@Field(() => Int)
@OneToOne(()=> Security_Questions)
@JoinColumn()
Reg_Security_Qus_ID: Security_Questions;
/*......*/
}
突变:
@Resolver()
export class UserRegistrationResolver {
@Mutation(() => User_Registration)
async createRegistrations(
@Arg("RegistrationMutation") registrationMutation: UserRegistrationType
) {
console.log("Boom1");
let oneUser = await User_Registration.insert(registrationMutation);
return oneUser;
}
@Query(() => User_Registration)
getUsers() {
console.log("Boom");
return User_Registration.find();
}
}
当我试图执行突变时,出现了一些奇怪的错误,如下所示,要求我输入"类验证器">,错误看起来像这样,
"message": "Cannot find module 'class-validator'nRequire stack:n-
有人能帮我解决这个问题吗。我受够了。提前谢谢。
我很愚蠢,我不得不安装
npm i class-validator
这个包裹。这都是
安装class-validator
或使用buildSchema
的validate: false
选项。