JSON 本文で POST 要求を受け入れる Grails コントローラーがあります。一部のリクエストでは、JSON の形式が正しくなく、JSONException が発生します。リクエスト本文のテキストを取得してログに記録したり検査したりするにはどうすればよいですか (常にクライアントにアクセスできるとは限りません)。Grailsrequest.JSON
はすでにストリームを消費しているため、request.body からアクセスできないようです。
これが私のコントローラーアクションです:
def setScore(ScoreCommand scoreCommand) {
try {
def context = request.JSON.optJSONObject("context")
userService.updateContext(context)
} catch (ConverterException ce) {
log.error("Error parsing JSON")
// I want to log the malformed JSON body
}
def scoreResponse
if (!scoreCmd.validate()) {
scoreResponse = errorResponse(scoreCommand)
} else {
def scoreResult = gameService.setScore(scoreCommand)
scoreResponse = buildResponse(scoreResult)
}
render scoreResponse as JSON
}