List of usage examples for org.springframework.web.client RestTemplate getMessageConverters
public List<HttpMessageConverter<?>> getMessageConverters()
From source file:org.springframework.boot.web.client.RestTemplateBuilderTests.java
@Test public void messageConvertersShouldApply() throws Exception { RestTemplate template = this.builder.messageConverters(this.messageConverter).build(); assertThat(template.getMessageConverters()).containsOnly(this.messageConverter); }
From source file:es.onebox.rest.utils.service.QueryService.java
/** * Main method to perform request to Onebox REST API. * * @param authenticationForm/*from w ww . ja v a 2 s .c o m*/ * @param queryForm * @return Response form request */ public ResponseDTO query(AuthenticationForm authenticationForm, QueryForm queryForm) { ResponseDTO responseDTO = new ResponseDTO(); Exception ex = null; try { URL url = new URL(queryForm.getUrl()); URI uri = url.toURI(); Date date = new Date(); long timestamp = date.getTime(); HttpMethod httpMethod; if (queryForm.getMethod().equalsIgnoreCase("post")) { httpMethod = HttpMethod.POST; } else { httpMethod = HttpMethod.GET; } // Getting String to encode with HMAC-SHA1 // First step in the signing algorithm String stringToSign = getStringToSign(uri, httpMethod.name(), timestamp, queryForm); logger.info("String to sign: " + stringToSign); // Encoding String // This is the actual authorization string that will be sent in the request String authorization = generate_HMAC_SHA1_Signature(stringToSign, authenticationForm.getPassword() + authenticationForm.getLicense()); logger.info("Authorization string: " + authorization); // Adding to return object responseDTO.setDate(date); responseDTO.setStringToSign(stringToSign); responseDTO.setAuthorization(authorization); // Setting Headers HttpHeaders headers = new HttpHeaders(); if (queryForm.getAccept().equals("json")) { headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON)); } else { headers.setAccept(Arrays.asList(MediaType.TEXT_XML)); } headers.add("Authorization", authorization); headers.add("OB_DATE", "" + timestamp); headers.add("OB_Terminal", authenticationForm.getTerminal()); headers.add("OB_User", authenticationForm.getUser()); headers.add("OB_Channel", authenticationForm.getChannelId()); headers.add("OB_POS", authenticationForm.getPos()); // Adding Headers to return object responseDTO.setHttpHeaders(headers); HttpEntity<String> entity; if (httpMethod == HttpMethod.POST) { // Adding post parameters to POST body String parameterStringBody = queryForm.getParametersAsString(); entity = new HttpEntity<String>(parameterStringBody, headers); logger.info("POST Body: " + parameterStringBody); } else { entity = new HttpEntity<String>(headers); } // Creating rest client RestTemplate restTemplate = new RestTemplate(); // Converting to UTF-8. OB Rest replies in windows charset. restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(Charset.forName("UTF-8"))); // Performing request to Onebox REST API ResponseEntity<String> result = restTemplate.exchange(uri, httpMethod, entity, String.class); // TODO this functionlity is to map response to objetcs. It is not finished. Only placed here for POC /* if (queryForm.getMapResponse().booleanValue()) { ResponseEntity<EventSearchBean> event = restTemplate.exchange(uri, httpMethod, entity, EventSearchBean.class); } */ // Adding response to return object responseDTO.setResponseEntity(result); logger.debug(result.toString()); } catch (HttpClientErrorException e) { logger.error(e.getMessage()); ex = e; e.printStackTrace(); responseDTO.setError(e); responseDTO.setAdditionalErrorMessage(AppUtils.getMessage("error.request.parameters")); } catch (MalformedURLException e) { logger.error(e.getMessage()); ex = e; e.printStackTrace(); responseDTO.setError(e); responseDTO.setAdditionalErrorMessage(AppUtils.getMessage("error.request.parameters")); } catch (SignatureException e) { logger.error(e.getMessage()); ex = e; e.printStackTrace(); responseDTO.setError(e); responseDTO.setAdditionalErrorMessage(AppUtils.getMessage("error.request.parameters")); } catch (URISyntaxException e) { logger.error(e.getMessage()); ex = e; e.printStackTrace(); responseDTO.setError(e); responseDTO.setAdditionalErrorMessage(AppUtils.getMessage("error.request.parameters")); } catch (Exception e) { logger.error(e.getMessage()); ex = e; e.printStackTrace(); responseDTO.setError(e); responseDTO.setAdditionalErrorMessage(AppUtils.getMessage("error.request.authentication")); } finally { if (ex != null && ex instanceof HttpServerErrorException) { HttpServerErrorException e2 = (HttpServerErrorException) ex; ResponseEntity<String> responseEntity = new ResponseEntity<String>(e2.getResponseHeaders(), HttpStatus.INTERNAL_SERVER_ERROR); List<String> ob_error_codes = e2.getResponseHeaders().get("OB_Error_Code"); String ob_error_code; ResponseErrorCodesEnum ob_error = null; if (ob_error_codes != null && ob_error_codes.size() == 1) { ob_error_code = ob_error_codes.get(0); try { ob_error = ResponseErrorCodesEnum.valueOf("ERROR_" + ob_error_code); } catch (Exception e) { logger.error("API ERROR CODE NOT DEFINED: " + "ERROR_" + ob_error_code); } responseDTO.setObResponseErrorCode(ob_error); } responseDTO.setResponseEntity(responseEntity); } } return responseDTO; }
From source file:org.springframework.cloud.netflix.eureka.http.RestTemplateTransportClientFactory.java
private RestTemplate restTemplate(String serviceUrl) { RestTemplate restTemplate = new RestTemplate(); try {/*from ww w .ja v a 2 s . com*/ URI serviceURI = new URI(serviceUrl); if (serviceURI.getUserInfo() != null) { String[] credentials = serviceURI.getUserInfo().split(":"); if (credentials.length == 2) { restTemplate.getInterceptors() .add(new BasicAuthorizationInterceptor(credentials[0], credentials[1])); } } } catch (URISyntaxException ignore) { } restTemplate.getMessageConverters().add(0, mappingJacksonHttpMessageConverter()); return restTemplate; }
From source file:org.springframework.boot.web.client.RestTemplateBuilderTests.java
@Test public void additionalMessageConvertersShouldAddToExisting() throws Exception { HttpMessageConverter<?> resourceConverter = new ResourceHttpMessageConverter(); RestTemplate template = this.builder.messageConverters(resourceConverter) .additionalMessageConverters(this.messageConverter).build(); assertThat(template.getMessageConverters()).containsOnly(resourceConverter, this.messageConverter); }
From source file:com.binomed.devfest.service.DevFestSpiceService.java
@Override public RestTemplate createRestTemplate() { RestTemplate restTemplate = new RestTemplate(); // find more complete examples in RoboSpice Motivation app // to enable Gzip compression and setting request timeouts. // web services support json responses MappingJacksonHttpMessageConverter jsonConverter = new MappingJacksonHttpMessageConverter(); FormHttpMessageConverter formHttpMessageConverter = new FormHttpMessageConverter(); StringHttpMessageConverter stringHttpMessageConverter = new StringHttpMessageConverter(); final List<HttpMessageConverter<?>> listHttpMessageConverters = restTemplate.getMessageConverters(); listHttpMessageConverters.add(jsonConverter); listHttpMessageConverters.add(formHttpMessageConverter); listHttpMessageConverters.add(stringHttpMessageConverter); restTemplate.setMessageConverters(listHttpMessageConverters); return restTemplate; }
From source file:org.springframework.boot.web.client.RestTemplateBuilderTests.java
@Test public void messageConvertersShouldReplaceExisting() throws Exception { RestTemplate template = this.builder.messageConverters(new ResourceHttpMessageConverter()) .messageConverters(Collections.singleton(this.messageConverter)).build(); assertThat(template.getMessageConverters()).containsOnly(this.messageConverter); }
From source file:com.muk.services.configuration.ServiceConfig.java
@Bean public RestTemplate genericRestTemplate() { final RestTemplate restTemplate = new RestTemplate(genericHttpRequestFactory()); final List<HttpMessageConverter<?>> converters = restTemplate.getMessageConverters(); for (final HttpMessageConverter<?> converter : converters) { if (converter instanceof MappingJackson2HttpMessageConverter) { final MappingJackson2HttpMessageConverter jsonConverter = (MappingJackson2HttpMessageConverter) converter; jsonConverter.setObjectMapper(jsonObjectMapper()); final List<MediaType> supportedMediaTypes = new ArrayList<MediaType>(); supportedMediaTypes/* w ww . j av a 2 s . c om*/ .add(new MediaType("text", "json", AbstractJackson2HttpMessageConverter.DEFAULT_CHARSET)); for (final MediaType mediaType : jsonConverter.getSupportedMediaTypes()) { supportedMediaTypes.add(mediaType); } jsonConverter.setSupportedMediaTypes(supportedMediaTypes); } } return restTemplate; }
From source file:com.muk.services.configuration.ServiceConfig.java
@Bean public RestTemplate nonPerformantRestTemplate() { final RestTemplate restTemplate = new RestTemplate(nonPerformantHttpRequestFactory()); final List<HttpMessageConverter<?>> converters = restTemplate.getMessageConverters(); for (final HttpMessageConverter<?> converter : converters) { if (converter instanceof MappingJackson2HttpMessageConverter) { final MappingJackson2HttpMessageConverter jsonConverter = (MappingJackson2HttpMessageConverter) converter; jsonConverter.setObjectMapper(jsonObjectMapper()); final List<MediaType> supportedMediaTypes = new ArrayList<MediaType>(); supportedMediaTypes// w w w . j a v a 2 s.co m .add(new MediaType("text", "json", AbstractJackson2HttpMessageConverter.DEFAULT_CHARSET)); for (final MediaType mediaType : jsonConverter.getSupportedMediaTypes()) { supportedMediaTypes.add(mediaType); } jsonConverter.setSupportedMediaTypes(supportedMediaTypes); } } return restTemplate; }