10

HTTP BuilderREST 客户端返回一个HttpResponseDecorator。如何从中获取原始响应(用于记录目的)?

编辑(一些代码可能很方便):

    withRest(uri: domainName) {
        def response = post(path: 'wsPath', query: [q:'test'])
        if (!response.success) {
            log.error "API call failed. HTTP status: $response.status"
            // I want to log raw response and URL constructed here
        }
4

3 回答 3

14

我一直在做同样问题的噩梦。这是我使用 HTTPBuilder 的解决方案:-

response.failure = {resp ->
    println "request failed with status ${resp.status}, response body was [${resp.entity.content.text}]"
    return null
}

希望有帮助!

于 2013-09-30T13:29:07.153 回答
0

我使用了 XmlUtil,它返回漂亮的打印 xml:

    def data = respXml.data
    assert data instanceof groovy.util.slurpersupport.GPathResult

    println "${XmlUtil.serialize(data)}"

如果您的数据是来自 groovyx.net.http.HttpResponseDecorator 的解析响应

希望能帮助到你。

于 2020-01-08T10:49:05.007 回答
-2

尝试这个:

println response.data

于 2015-02-16T08:53:30.890 回答