【问题标题】:How to manually throw HTTP 404 Not Found exception in spray/akka?如何在 spray/akka 中手动抛出 HTTP 404 Not Found 异常?
【发布时间】:2017-12-31 04:46:57
【问题描述】:

在我的存储库函数中,我正在读取一个用户,然后更新该用户:

def update(u: User): Future[Int] = {
    this.read(u.id).flatMap {
      case Some(existingUser) =>
        db.run(
          userTable
            .filter(_.id === user.id)
            .update(user.copy(createdDate = existingUser.createdDate)))
      //case None => throw new NotFoundException(); // does this exception exist in spray/akka?
    }
}

当找不到用户时,我想在这里抛出某种异常,以便 spray/akka 知道异常意味着返回 HTTP 404 Not Found。

spray/akka 是否包含某种我可以手动抛出的 NotFoundException?

【问题讨论】:

    标签: scala akka slick spray slick-3.0


    【解决方案1】:

    您可以抛出任何异常,然后配置exception handler 将异常转换为 404 响应。

    【讨论】:

      【解决方案2】:

      是不是一定要例外,还是可以这样用:

            case None => HttpResponse(StatusCodes.NotFound)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-12-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-11
        • 2019-08-04
        • 1970-01-01
        相关资源
        最近更新 更多