【发布时间】:2016-10-05 20:40:30
【问题描述】:
我在 Play 中使用 Scala,并在下面寻找一种更简洁的方式来编写 POST 请求处理程序:
def create = Action.async { request => {
request.body.asJson match {
case Some(x) => x.validate[UserDto] match {
case c: JsSuccess[UserDto] => doActualWork(c.get)
case e: JsError => Future.successful(BadRequest(""))
}
case None => Future.successful(BadRequest(""))
}
}
}
问题:
- 仅解析 JSON 对象 UserDto 需要很多行(这是一个常见的过程)
- 高度嵌套(可读性差)
【问题讨论】:
-
你可以使用他们的 json body parser 来减少一些噪音。尽管 json 是您想要的类型,但您仍然需要进行一些验证。你也可以进一步抽象它,但我在我的手机上,所以我还不能提供我过去做过的一种方式的代码
标签: scala playframework