Как уже упоминалось, Spring RestTemplate и Jersey Rest Client выполнят эту работу. Я использовал оба. Оба они отлично работают с Джексоном и IIRC, они автоматически используют его, если найдут (весна наверняка).
Есть одно преимущество, которое мне нравится в Spring RestTemplate, это то, что вы можете добавить Commons HTTP в качестве транспорта. Так что, если у вас были какие-то странные заголовки, файлы cookie, время ожидания, потоки, вы можете настроить Commons HTTP и затем поместить его в RestTemplate.
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new MappingJacksonHttpMessageConverter());
restTemplate.setErrorHandler(new DefaultResponseErrorHandler());
CommonsClientHttpRequestFactory f = new CommonsClientHttpRequestFactory();
f.setReadTimeout(120 * 1000);
Дело в том, что если вы подумываете об использовании клиента Commons HTTP, тогда как @Skaffman говорит, что RestTemplate не представляет никакой сложности для чего-то более сложного!