HTTPBuilder set request contenttype
Adding a specific header to the request seems to solve my problem.
def execute(String baseUrl, String path, Map requestHeaders=[:], Map query=[:], method = Method.POST) {try { def http = new HTTPBuilder(baseUrl) def result = null // perform a ${method} request, expecting TEXT response http.request(method, ContentType.JSON) { uri.path = path uri.query = query headers.'Content-Type' = 'application/json' // add possible headers requestHeaders.each { key, value -> headers."${key}" = "${value}" } // response handler for a success response code response.success = { resp, reader -> result = reader.getText() } } return result} catch (groovyx.net.http.HttpResponseException ex) { ex.printStackTrace() return null} catch (java.net.ConnectException ex) { ex.printStackTrace() return null}
}
Try setting the requestContentType in the body of your request block...
http.request(method, ContentType.JSON) { uri.path = path uri.query = query requestContentType = groovyx.net.http.ContentType.URLENC .......}