我有Users表,想要在其中插入User并将Ok
或Error
返回到前端。
我认为插入时可能没有更新,所以我总是检查这样的插入计数:
// Somewhere in userService
def add(user: User): Future[Int] = db.run(users += user)
...
// Routes
onSuccess(add(newUser)) {
case insertCount if insertCount == 1 =>
complete(Ok)
case _ =>
complete(Error)
}
但是在阅读Bootzooka代码时,我发现他们并不关心更新计数:
def add(user: User): Future[Unit] = db.run(users += user).mapToUnit
我应该关心插入计数吗?或者,如果没有插入,Future会失败吗?
答案 0 :(得分:1)
不,不是必需的。如果任何insert语句失败,则Slick抛出异常。
您可以安全地忽略返回的int值。