HTTPBuilder set request contenttype HTTPBuilder set request contenttype json json

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     .......}