FormHttpMessageConverter converter = new FormHttpMessageConverter(); converter.addPartConverter(new MappingJackson2HttpMessageConverter()); restTemplate.getMessageConverters().add(0, converter);
HttpMessageConverter<Object> jackson = new MappingJackson2HttpMessageConverter(); HttpMessageConverter<Resource> resource = new ResourceHttpMessageConverter(); FormHttpMessageConverter formHttpMessageConverter = new FormHttpMessageConverter(); formHttpMessageConverter.addPartConverter(jackson); formHttpMessageConverter.addPartConverter(resource); // This is hope driven programming RestTemplate restTemplate = new RestTemplate(Arrays.asList(jackson, resource, formHttpMessageConverter));
@Override protected List<HttpMessageConverter<?>> getMessageConverters() { MappingJackson2HttpMessageConverter jsonConverter = new MappingJackson2HttpMessageConverter(); ObjectMapper objectMapper = new ObjectMapper(); objectMapper.configure(FAIL_ON_UNKNOWN_PROPERTIES, false); objectMapper.configure(WRITE_DATES_AS_TIMESTAMPS, false); objectMapper.configure(FAIL_ON_EMPTY_BEANS, false); objectMapper.setSerializationInclusion(NON_NULL); jsonConverter.setObjectMapper(objectMapper); FormHttpMessageConverter formHttpMessageConverter = new FormHttpMessageConverter(); formHttpMessageConverter.addPartConverter(jsonConverter); List<HttpMessageConverter<?>> messageConverters = new ArrayList<HttpMessageConverter<?>>(); messageConverters.add(jsonConverter); messageConverters.add(new ByteArrayHttpMessageConverter()); messageConverters.add(formHttpMessageConverter); messageConverters.add(new ResourceHttpMessageConverter()); return messageConverters; }
@Override protected void initRestTemplate(RestTemplate restTemplate) { super.initRestTemplate(restTemplate); restTemplate.setErrorHandler(new DCTMJaxbErrorHandler(restTemplate.getMessageConverters())); for(HttpMessageConverter<?> c : restTemplate.getMessageConverters()) { if(c instanceof FormHttpMessageConverter) { ((FormHttpMessageConverter)c).addPartConverter(new Jaxb2RootElementHttpMessageConverter()); break; } } }