少なくとも、the routing DSLを使用しているときに、リクエスト本体のクラスが呼び出し元によってボディが提供されているかどうかを確認するapi(?たとえば空のボディを正常に処理するためのフレームワークを再生する
case PATCH(p"/foo") => Action { request =>
val body: Option[JsValue] = request.body.asJson
body match {
case None =>
Results.NoContent
case Some(body) =>
Results.Ok(s"got post request with body of length ${body.toString.length}")
}
}
}
しかしResults.NoContent
に到達することはありませんし、「不正な要求」応答は例外Invalid Json: No content to map due to end-of-input...
次のクライアントに送信されますJSONを期待し、それはに素敵だったかもしれません。発信者がボディを含まないような場合に、http "no content"レスポンスをどのように送信できるかを知っているといいでしょう。最初にテキストに変換し、次にJsonにしか対応しないと思います。どんなクリーナー?どうもありがとう!