0
給定的情況下,類任何需要如何將消息從case類中發送到http響應需要?
case class Foo(id: Int, value: Int) {
require(value < 0 "value must be bigger than zero")
}
可能拋出這個消息到http?
val routes = pathPrefix("foos") {
pathEnd {
post {
entity(as[Foo]) { foo =>
saveFoo(foo) match {
case Success(p) => {
complete(StatusCodes.Created)
}
case Failure(f) => {
println(f.getMessage) // unknown error
complete(BadRequest, f.getMessage)
}
}
}
}
}
這就是我想,也是。但是來自f.getMessage的消息是「未知錯誤」 – coffee
阻止了你在哪裏打印'f.getMessage'是在你的方法'saveFoo'返回失敗的情況下評估的。如果你正在打印'f.getMessage',這意味着解組很好,錯誤在後面。用BadRequest拒絕編組錯誤發生在引擎蓋下,而不需要添加任何代碼。 –