Vapor 如何通过电子邮件查找用户
Vapor How to find user by email
如何在登录方法中通过 vapor 中的电子邮件正确查找用户和 return 该用户或 return 错误,
我试过:
func login(_ req: Request) throws -> Future<User> {
return try req.content.decode(User.self).map { loginUser in
let query = User.query(on: req)
return query
.filter(\.email == loginUser.email)
.first()
.flatMap { user in
return user!.save(on: req)
}
}
}
但我得到
Cannot convert return expression of type 'EventLoopFuture' to return type 'User'
func login(_ req: Request) throws -> Future<User> {
return try req.content.decode(User.self).flatMap { loginUser in
return User.query(on: req)
.filter(\.email == loginUser.email)
.first()
.unwrap(or: Abort(.notFound, reason: "User not found"))
}
}
如何在登录方法中通过 vapor 中的电子邮件正确查找用户和 return 该用户或 return 错误, 我试过:
func login(_ req: Request) throws -> Future<User> {
return try req.content.decode(User.self).map { loginUser in
let query = User.query(on: req)
return query
.filter(\.email == loginUser.email)
.first()
.flatMap { user in
return user!.save(on: req)
}
}
}
但我得到
Cannot convert return expression of type 'EventLoopFuture' to return type 'User'
func login(_ req: Request) throws -> Future<User> {
return try req.content.decode(User.self).flatMap { loginUser in
return User.query(on: req)
.filter(\.email == loginUser.email)
.first()
.unwrap(or: Abort(.notFound, reason: "User not found"))
}
}