2013-04-19 11 views
8

Die REST ClientHTTP Builder gibt eine HttpResponseDecorator zurück. Wie kann ich die rohe Antwort (für Protokollierungszwecke) erhalten?So erhalten Sie die unformatierte Antwort und URL von HttpResponseDecorator

EDIT (einige Code könnten sehr nützlich sein):

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 
     } 

Antwort

8

Ich habe mit dem gleichen Problem einen Alptraum. Hier ist meine Lösung mit HTTPBuilder: -

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

Hoffe, dass hilft!

+8

Als ich die oben tat, bekam ich "java.io.IOException. Attempted aus geschlossenen Stream gelesen" –

-2

Versuchen Sie folgendes:

println response.data

+0

http://javadox.com/org.codehaus.groovy.modules.http-builder/http-builder/0.6/groovyx/net/http/HttpResponseDecorator.html#getData() Das ist buchstäblich das genaue Gegenteil der rohen Antwort. –

Verwandte Themen