【问题标题】:Vapor How to find user by emailVapor 如何通过电子邮件查找用户
【发布时间】:2020-05-05 20:50:03
【问题描述】:

如何在登录方法中通过电子邮件正确找到用户并返回该用户或返回错误, 我试过了:

    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)
            }

        }
}

但我得到了

无法将“EventLoopF​​uture”类型的返回表达式转换为“用户”类型的返回

【问题讨论】:

    标签: swift vapor


    【解决方案1】:
    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"))
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-11-10
      • 1970-01-01
      • 2016-09-16
      • 1970-01-01
      • 1970-01-01
      • 2018-09-11
      • 2021-09-20
      • 1970-01-01
      • 2020-11-26
      相关资源
      最近更新 更多