3

如果我在调用任何服务时使用'web-send-json-response="true"',它会使用 WebFacadeImpl.groovy 的 sendJsonResponse(Object responseObj) 方法返回 json 响应。如果“eci.getMessage().hasError()”为真,它将向 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 响应中收到消息。

4

0 回答 0