注册时突变返回 null
Posted
技术标签:
【中文标题】注册时突变返回 null【英文标题】:Mutation return null on signup 【发布时间】:2021-10-09 12:34:05 【问题描述】:我正在使用 typescript 构建一个带有 graphql、typegraphql 和 typeorm 的 API,并且我的注册突变在我返回用户时返回 null,但它毫无问题地返回错误。 我准确地说,当我使用注册突变时,用户被正确保存在数据库中(我使用 postgres),我可以 console.log 查询结果
注册突变:
@Mutation((_) => UserResponse)
async signup(
@Arg('email') email: string,
@Arg('password') password: string
): Promise<UserResponse>
const errors = await signupValidation(email, password);
if (errors.length > 0)
return errors ;
const result = await getConnection()
.createQueryBuilder()
.insert()
.into(User)
.values([ email, password ])
.returning('*')
.execute();
console.log(result.raw[0])
return result.raw[0];
console.log 的结果
这是我调用突变(没有错误)
这是有错误的结果
【问题讨论】:
【参考方案1】:您的函数似乎返回一个User
形对象,而不是UserResponse
(带有user
和errors
属性)。
将代码更改为
return user: result.raw[0] ;
(也许试着弄清楚为什么 TypeScript 没有抱怨 - result
被键入为 any
?)
【讨论】:
谢谢这是正确的答案,我认为打字稿没有抱怨,因为结果也是一个形状相同的对象以上是关于注册时突变返回 null的主要内容,如果未能解决你的问题,请参考以下文章