Javascript 更新实体中的值时使用扩展运算符进行类型化
我正在学习使用TypeForm和Typescript构建后端,只是想问一下为什么spread操作符在更新实体时不起作用 假设我有一个用户具有一系列属性:Javascript 更新实体中的值时使用扩展运算符进行类型化,javascript,typescript,typeorm,Javascript,Typescript,Typeorm,我正在学习使用TypeForm和Typescript构建后端,只是想问一下为什么spread操作符在更新实体时不起作用 假设我有一个用户具有一系列属性: 名字 电子邮件 密码 在前端,我有一个表单,允许我更新这些值中的任何一个 如何使用一个路由更新所有这些值中的一个 我正在尝试这样做,它告诉我更新值未定义: @PUT @Path("/:email") async updateUser(@PathParm("email") email: string
- 名字
- 电子邮件
- 密码
@PUT
@Path("/:email")
async updateUser(@PathParm("email") email: string, data: User):Promise<object> {
try {
const user = await getRepository(User)
.createQueryBuilder()
.update(User)
.set({ ...data }) // the issue
.where('email = :email', { email })
.execute()
return user
catch(e) {
return e
}
@放
@路径(“/:电子邮件”)
async updateUser(@PathParm(“电子邮件”)电子邮件:字符串,数据:用户):承诺{
试一试{
const user=wait getRepository(用户)
.createQueryBuilder()
.更新(用户)
.set({…data})//问题
.where('email=:email',{email})
.execute()
返回用户
捕获(e){
返回e
}
我认为在这种情况下,排列操作符可以正常工作
或者我必须详细地写出要设置的用户实体的每个属性吗?我刚刚尝试使用“原始”数据与PostMan一起使用,它工作了……您使用的http框架是什么?数据到底是什么??它有自己的可枚举属性吗?因此,我最终在这方面取得了进展。我用POSTMA发送了表单数据N、 但是当我切换到
x-www-form-urlencoded
时,它工作得很好。如果我使用它,我需要一个表单数据解析器