1

我有一个 Grails 控制器,它接受带有 JSON 主体的 POST 请求。在某些请求中,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 回答