喷雾路线 - 早期拒绝?

时间:2015-10-05 14:39:25

标签: scala spray spray-routing

我的路由与此类似:

pathPrefix("api") {
  path("login") {
    entity(as[LoginRequest]) { login =>
      complete { ... }
    }
  } ~
  pathPrefix("persons") {
    pathEnd {
      get { ctx => ctx.complete(model.getPersons) }
    } ~
    path("new") {
      post {
        entity(as[Person]) { person =>
          complete { model.addPerson(person).map { _ => StatusCodes.Accepted }
        }
      }
    } ~
    path(IntNumber) { id =>
      delete {
        complete {
          model.deletePerson(id).map { _ => StatusCodes.Accepted }
        }
      }
    }
  } ~
  path("app" / Rest) { path =>
    get {
      getFromResource("app/%s" format path)
    }
  }
}

我的问题是错误代码已关闭。

当查询带有无效文档的POST到/ api / persons / new时,我希望得到一个InvalidEntity响应代码,但我得到405:方法不允许,支持:GET。

与/ api / login相同。

如果实体正确,则运行正确的路线。

如果我向/ api / persons / invalidnumber发出DELETE,我得到405,而不是404

如果我为这些路线运行GET,我得到404.也许最后一条路线试图运行 - getFromResource?

有没有办法迫使路线“早日返回”? 例如entity(as[LoginRequest]) { ... } ~ failWithPreviousRejection

0 个答案:

没有答案