我有一個接受帶有JSON主體的POST請求的Grails控制器。在某些請求中,JSON格式不正確,我得到一個JSONException。我如何獲得請求主體文本來記錄或檢查它(我並不總是可以訪問客戶端)? Grails request.JSON
已經佔用了流,所以看起來我無法通過request.body訪問它。在JSONException之後讀取請求主體
這裏是我的控制器操作:
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
}
'params.context'? –
它不起作用:(不幸的是,「上下文」是在POST請求的主體中,而不是在參數中。 – chozero
'log.error(「錯誤解析JSON」,ce)'? – Isammoc