switch (httpMethod) {
case POST: {
return client.getRestTemplate().postForObject(uri, request, responseClazz, urlVariables);
} case PUT: {
return client.getRestTemplate().exchange(uri, HttpMethod.PUT, new HttpEntity(request), responseClazz, urlVariables).getBody();
} case DELETE: {
return client.getRestTemplate().exchange(uri, HttpMethod.DELETE, new HttpEntity(request), responseClazz, urlVariables).getBody();
// HttpEntityRequestCallback requestCallback = new HttpEntityRequestCallback(request, responseClazz);
// HttpMessageConverterExtractor<ResponseResult> responseExtractor =
// new HttpMessageConverterExtractor<ResponseResult>(responseClazz, client.getRestTemplate().getMessageConverters());
// return client.getRestTemplate().execute(uri, HttpMethod.DELETE, requestCallback, responseExtractor, urlVariables);