任意のサービスを呼び出すときに「web-send-json-response="true"」を使用すると、WebFacadeImpl.groovy の sendJsonResponse(Object responseObj) メソッドを使用して json 応答が返されます。「eci.getMessage().hasError()」が true の場合、JSON 応答に「エラー」を追加します。しかし、Json Response にメッセージが追加されない理由はありますか?
json 応答にメッセージを入れたいので、sendJsonResponse() メソッドに数行追加しました。json 応答にメッセージを追加するために数行を追加したコード ブロック:
} else if (responseObj != null) {
responseObj.put("messages", eci.message.messages)
JsonBuilder jb = new JsonBuilder()
jb.call(responseObj)
jsonStr = jb.toString()
response.setStatus(HttpServletResponse.SC_OK)
} else {
jsonStr = ""
if (eci.message.messages) {
responseObj.put("messages", eci.message.messages)
JsonBuilder jb = new JsonBuilder()
jb.call(responseObj)
jsonStr = jb.toString()
}
response.setStatus(HttpServletResponse.SC_OK)
}
正常に動作し、json 応答でメッセージを取得しています。