@Override public JHttpResponse execute(JHttpEndpoint endpoint, JHttpQuery query) { if (query == null) return execute(endpoint); URI endpointURI = endpoint.getURI(query.getPath(), query.getQueryParams()); RequestEntity requestEntity = mapToRequestEntity(query, endpointURI); ResponseEntity responseEntity; if (query.getResponseBodyType() != null) { responseEntity = restTemplate.exchange( endpointURI, query.getMethod(), requestEntity, query.getResponseBodyType()); } else { responseEntity = restTemplate.exchange(endpointURI, query.getMethod(), requestEntity, byte[].class); } return mapToJHttpResponse(responseEntity); }