donné une classe de cas avec un besoinComment jeter des messages à la réponse http de la classe affaire ont besoin?
case class Foo(id: Int, value: Int) {
require(value < 0 "value must be bigger than zero")
}
est possible de lancer ce message à 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)
}
}
}
}
}
C'est ce que je pensais aussi. Mais le message de f.getMessage est "erreur inconnue" – coffee
Cela vous bloque lorsque vous imprimez 'f.getMessage' est évalué dans le cas où votre méthode' saveFoo' renvoie un échec. Si vous imprimez 'f.getMessage' cela signifie que le unmarshalling était correct et que l'erreur était plus tardive. Le rejet des erreurs de désassemblage avec BadRequest se passe sous le capot, sans avoir besoin d'ajouter de code. –