我想实现一个解析和验证 request.body
的 BodyParser ,它基于parse.json
并且目前看起来像这样:
def parseModel[A](implicit reads: Reads[A]): BodyParser[JsResult[A]] =
parse.json.map(_.validate[A])
问题是它当前是 typeBodyParser[JsResult[A]]
而我希望它是 type BodyParser[A]
。如果JsError
我希望它基本上返回400 Bad Request
验证错误。
在Play API 文档中,我找不到允许我检查先前正文解析器的结果并返回结果或继续到控制器的方法。