List of usage examples for org.springframework.web.client HttpMessageConverterExtractor HttpMessageConverterExtractor
public HttpMessageConverterExtractor(Type responseType, List<HttpMessageConverter<?>> messageConverters)
From source file:org.zalando.riptide.TypedCondition.java
private I convert(final ClientHttpResponse response, final List<HttpMessageConverter<?>> converters) throws IOException { return new HttpMessageConverterExtractor<I>(type.getType(), converters).extractData(response); }
From source file:org.craftercms.commons.rest.HttpMessageConvertingResponseErrorHandler.java
@Override public void handleError(ClientHttpResponse response) throws IOException { HttpStatus status = response.getStatusCode(); HttpMessageConverterExtractor<?> responseExtractor = new HttpMessageConverterExtractor<>(responseType, messageConverters);/* ww w .j av a 2 s. com*/ Object errorDetails; try { errorDetails = responseExtractor.extractData(response); } catch (RestClientException e) { // No message converter to extract the response, so make the error details // the response body as string throw new RestServiceException(status, getResponseBodyAsString(response)); } throw new RestServiceException(status, errorDetails); }
From source file:org.springframework.integration.samples.rest.RestHttpClientTest.java
@Before public void setUp() { responseExtractor = new HttpMessageConverterExtractor<EmployeeList>(EmployeeList.class, restTemplate.getMessageConverters()); Map<String, Object> properties = new HashMap<String, Object>(); properties.put(javax.xml.bind.Marshaller.JAXB_ENCODING, "UTF-8"); properties.put(javax.xml.bind.Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); marshaller.setMarshallerProperties(properties); }
From source file:org.zalando.riptide.MapTest.java
private Account fromResponse(final ClientHttpResponse response) throws IOException { final AccountBody account = new HttpMessageConverterExtractor<>(AccountBody.class, template.getMessageConverters()).extractData(response); return new Account(account.getId(), "fake", account.getName()); }
From source file:com.neiljbrown.brighttalk.channels.reportingapi.client.spring.ApiResponseErrorHandler.java
/** * @param messageConverters The list of {@link HttpMessageConverter} that should be used to convert the body of an * error response returned by the API service. All of the supplied converters must be capable of reading an * {@link ApiError} in a media type of application/xml. *//*from www . ja v a 2 s. co m*/ public ApiResponseErrorHandler(List<HttpMessageConverter<?>> messageConverters) { Preconditions.checkNotNull(messageConverters, "messageConverters must be non-null."); for (HttpMessageConverter<?> messageConverter : messageConverters) { if (!messageConverter.canRead(ApiError.class, MediaType.APPLICATION_XML)) { throw new IllegalArgumentException("HttpMessageConverter [" + messageConverter + "] must support reading " + "an object of class [" + ApiError.class.toString() + "]."); } } this.errorResponseExtractor = new HttpMessageConverterExtractor<ApiError>(ApiError.class, messageConverters); }
From source file:org.eclipse.cft.server.core.internal.client.CloudFoundryClientFactory.java
private static String getJson(RestTemplate restTemplate, String urlString) { ClientHttpResponse response = null;// ww w . ja va 2 s . c o m HttpMethod method = null; try { method = HttpMethod.GET; URI url = new UriTemplate(urlString).expand(); ClientHttpRequest request = restTemplate.getRequestFactory().createRequest(url, method); List<MediaType> acceptableMediaTypes = new ArrayList<MediaType>(); acceptableMediaTypes.add(MediaType.APPLICATION_JSON); request.getHeaders().setAccept(acceptableMediaTypes); //if (requestCallback != null) { // requestCallback.doWithRequest(request); //} response = request.execute(); if (response.getBody() != null) { HttpMessageConverterExtractor<String> extractor = new HttpMessageConverterExtractor<String>( String.class, restTemplate.getMessageConverters()); String data = extractor.extractData(response); return data; } ; } catch (IOException ex) { throw new ResourceAccessException( "I/O error on " + method.name() + " request for \"" + urlString + "\":" + ex.getMessage(), ex); } finally { if (response != null) { response.close(); } } return null; }
From source file:org.cloudfoundry.identity.client.UaaContextFactory.java
/** * Performs and authorization_code grant, but uses a token to assert the user's identity. * @param tokenRequest - a configured TokenRequest * @return an authenticated {@link UaaContext} *//* www . ja v a2 s .co m*/ protected UaaContext authenticateAuthCodeWithToken(final TokenRequest tokenRequest) { List<OAuth2AccessTokenSupport> providers = Collections .singletonList(new AuthorizationCodeAccessTokenProvider() { @Override protected ResponseExtractor<OAuth2AccessToken> getResponseExtractor() { getRestTemplate(); // force initialization MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); return new HttpMessageConverterExtractor<OAuth2AccessToken>(CompositeAccessToken.class, Arrays.asList(converter)); } }); enhanceRequestParameters(tokenRequest, providers.get(0)); AuthorizationCodeResourceDetails details = new AuthorizationCodeResourceDetails(); details.setPreEstablishedRedirectUri(tokenRequest.getRedirectUri().toString()); configureResourceDetails(tokenRequest, details); setClientCredentials(tokenRequest, details); setRequestScopes(tokenRequest, details); details.setUserAuthorizationUri(tokenRequest.getAuthorizationEndpoint().toString()); DefaultOAuth2ClientContext oAuth2ClientContext = new DefaultOAuth2ClientContext(); oAuth2ClientContext.getAccessTokenRequest().setStateKey(tokenRequest.getState()); oAuth2ClientContext.setPreservedState(tokenRequest.getState(), details.getPreEstablishedRedirectUri()); oAuth2ClientContext.getAccessTokenRequest().setCurrentUri(details.getPreEstablishedRedirectUri()); Map<String, List<String>> headers = (Map<String, List<String>>) oAuth2ClientContext.getAccessTokenRequest() .getHeaders(); headers.put("Authorization", Arrays.asList("bearer " + tokenRequest.getAuthCodeAPIToken())); OAuth2RestTemplate template = new OAuth2RestTemplate(details, oAuth2ClientContext); skipSslValidation(tokenRequest, template, providers); OAuth2AccessToken token = template.getAccessToken(); return new UaaContextImpl(tokenRequest, template, (CompositeAccessToken) token); }
From source file:org.springframework.web.client.RestTemplate.java
public <T> T getForObject(String url, Class<T> responseType, Object... urlVariables) throws RestClientException { AcceptHeaderRequestCallback requestCallback = new AcceptHeaderRequestCallback(responseType); HttpMessageConverterExtractor<T> responseExtractor = new HttpMessageConverterExtractor<T>(responseType, getMessageConverters());/* w w w .j a va2s .c om*/ return execute(url, HttpMethod.GET, requestCallback, responseExtractor, urlVariables); }
From source file:org.springframework.web.client.RestTemplate.java
public <T> T getForObject(String url, Class<T> responseType, Map<String, ?> urlVariables) throws RestClientException { AcceptHeaderRequestCallback requestCallback = new AcceptHeaderRequestCallback(responseType); HttpMessageConverterExtractor<T> responseExtractor = new HttpMessageConverterExtractor<T>(responseType, getMessageConverters());//from w w w .j av a 2s . c o m return execute(url, HttpMethod.GET, requestCallback, responseExtractor, urlVariables); }
From source file:org.springframework.web.client.RestTemplate.java
public <T> T getForObject(URI url, Class<T> responseType) throws RestClientException { AcceptHeaderRequestCallback requestCallback = new AcceptHeaderRequestCallback(responseType); HttpMessageConverterExtractor<T> responseExtractor = new HttpMessageConverterExtractor<T>(responseType, getMessageConverters());//w w w . ja v a2 s . c om return execute(url, HttpMethod.GET, requestCallback, responseExtractor); }