1

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
}
4

1 に答える 1

0

これは機能しますか?

def json = request.JSON

try {
  def context = json.optJSONObject("context")
  userService.updateContext(context)
}catch(e) {
  log.error json.toString()
}
于 2013-01-22T02:34:51.300 に答える