def save = Action { request: Request[AnyContent] => val body: AnyContent = request.body // デフォルトでは上記のように request.body は AnyContent 型です。 Content-Type ヘッダの値によって適切な型として parse されます。たとえば Content-Type が application/json であれば JSON として parse され、request.body.asJson で JSON が取り出せます。 今回はパースされたボディと共に、生のリクエストボディにアクセスしたいと思いました。 Play では BodyParser[A] が HTTP リクエストボディを解釈します。 その定義 を見るとわかるように RequestHeader => Accumul