Example usage for org.springframework.web.client RestTemplate execute

List of usage examples for org.springframework.web.client RestTemplate execute

Introduction

In this page you can find the example usage for org.springframework.web.client RestTemplate execute.

Prototype

@Override
@Nullable
public <T> T execute(URI url, HttpMethod method, @Nullable RequestCallback requestCallback,
        @Nullable ResponseExtractor<T> responseExtractor) throws RestClientException 

Source Link

Document

<p>To provide a RequestCallback or ResponseExtractor only, but not both, consider using: <ul> <li> #acceptHeaderRequestCallback(Class) <li> #httpEntityCallback(Object) <li> #httpEntityCallback(Object,Type) <li> #responseEntityExtractor(Type) </ul>

Usage

From source file:jp.go.aist.six.util.core.web.spring.Http.java

/**
 * Generic HTTP method execution./*  ww w .jav a  2 s.c om*/
 *
 * @throws  HttpException
 *  when an exceptional condition occurred during the HTTP method execution.
 */
protected static <T> T _execute(final URL from_url, final HttpMethod method, final RequestCallback callback,
        final ResponseExtractor<T> extractor) {
    _LOG_.debug("HTTP: method = " + method + ", URL=" + from_url);

    URI from_uri = null;
    try {
        from_uri = from_url.toURI();
        //throws URISyntaxException
    } catch (URISyntaxException ex) {
        throw new HttpException(ex);
    }

    T response = null;
    try {
        RestTemplate rest = new RestTemplate();
        response = rest.execute(from_uri, method, callback, extractor);
    } catch (RestClientException ex) {
        _LOG_.error("HTTP error: " + ex);
        throw new HttpException(ex);
    }

    return response;
}

From source file:de.zib.gndms.gndmc.test.gorfx.ESGFGet.java

@Override
protected void run() throws Exception {

    SetupSSL setupSSL = new SetupSSL();
    setupSSL.setKeyStoreLocation(keyStoreLocation);
    setupSSL.prepareKeyStore(passwd, passwd);
    setupSSL.setupDefaultSSLContext(passwd);

    final RestTemplate rt = new RestTemplate();

    rt.execute(url, HttpMethod.GET, null, new ResponseExtractor<Object>() {
        @Override//w w  w .  j  a v a  2s .c  o  m
        public Object extractData(final ClientHttpResponse response) throws IOException {

            String url = null;
            String cookieTmp = null;
            System.out.println(response.getStatusCode().toString());
            for (String s : response.getHeaders().keySet())
                for (String v : response.getHeaders().get(s)) {
                    System.out.println(s + ":" + v);
                    if ("Location".equals(s))
                        url = v;
                    else if ("Set-Cookie".equals(s))
                        cookieTmp = v;
                }
            final String cookie = cookieTmp.split(";")[0];

            if (url != null)
                rt.execute(decodeUrl(url), HttpMethod.GET, new RequestCallback() {
                    @Override
                    public void doWithRequest(final ClientHttpRequest request) throws IOException {

                        System.out.println("setting cookie: " + cookie);
                        request.getHeaders().set("Cookie", cookie);
                    }
                }, new ResponseExtractor<Object>() {
                    @Override
                    public Object extractData(final ClientHttpResponse response) throws IOException {

                        System.out.println(response.getStatusCode().toString());
                        System.out.println("Received data, copying");
                        InputStream is = response.getBody();
                        OutputStream os = new FileOutputStream(off);
                        StreamCopyNIO.copyStream(is, os);
                        System.out.println("Done");
                        return null;
                    }
                });

            return null;
        }
    });
}

From source file:com.artivisi.belajar.restful.ui.controller.ApplicationConfigControllerTestIT.java

@SuppressWarnings("unchecked")
@Test//from  w  ww  .  jav  a  2  s  .c  o m
public void testUploadPakaiRestTemplate() {
    RestTemplate rest = new RestTemplate();

    String jsessionid = rest.execute(login, HttpMethod.POST, new RequestCallback() {
        @Override
        public void doWithRequest(ClientHttpRequest request) throws IOException {
            request.getBody().write(("j_username=" + username + "&j_password=" + password).getBytes());
        }
    }, new ResponseExtractor<String>() {
        @Override
        public String extractData(ClientHttpResponse response) throws IOException {
            List<String> cookies = response.getHeaders().get("Cookie");

            // assuming only one cookie with jsessionid as the only value
            if (cookies == null) {
                cookies = response.getHeaders().get("Set-Cookie");
            }

            String cookie = cookies.get(cookies.size() - 1);

            int start = cookie.indexOf('=');
            int end = cookie.indexOf(';');

            return cookie.substring(start + 1, end);
        }
    });

    MultiValueMap<String, Object> form = new LinkedMultiValueMap<String, Object>();
    form.add("foto", new FileSystemResource("src/test/resources/foto-endy.jpg"));
    form.add("Filename", "cv-endy.pdf");
    form.add("cv", new FileSystemResource("src/test/resources/resume-endy-en.pdf"));
    form.add("keterangan", "File Endy");
    Map<String, String> result = rest.postForObject(target + "/abc123/files;jsessionid=" + jsessionid, form,
            Map.class);

    assertEquals("success", result.get("cv"));
    assertEquals("success", result.get("foto"));
    assertEquals("success", result.get("keterangan"));
}

From source file:de.hybris.platform.marketplaceintegrationbackoffice.utils.MarketplaceintegrationbackofficeHttpClientImpl.java

@Override
public boolean redirectRequest(final String requestUrl) throws IOException {

    final boolean result = true;
    final RestTemplate restTemplate = new RestTemplate();

    final java.net.URI uri = java.net.URI.create(requestUrl);
    final java.awt.Desktop dp = java.awt.Desktop.getDesktop();
    if (dp.isSupported(java.awt.Desktop.Action.BROWSE)) {
        dp.browse(uri);//from   www  .  ja  va 2 s .  c  om
    }
    restTemplate.execute(requestUrl, HttpMethod.GET, new RequestCallback() {
        @Override
        public void doWithRequest(final ClientHttpRequest request) throws IOException {
            // empty block should be documented
        }
    }, new ResponseExtractor<Object>() {
        @Override
        public Object extractData(final ClientHttpResponse response) throws IOException {
            final HttpStatus statusCode = response.getStatusCode();
            LOG.debug("Response status: " + statusCode.toString());
            return response.getStatusCode();
        }
    });
    return result;
}

From source file:de.zib.gndms.gndmc.utils.HTTPGetter.java

private EnhancedResponseExtractor get(final HttpMethod method, final String url,
        final RequestCallback requestCallback) throws NoSuchAlgorithmException, KeyManagementException {
    CustomSSLContextRequestFactory requestFactory = new CustomSSLContextRequestFactory(sslContext);
    RestTemplate rt = new RestTemplate(requestFactory);
    requestFactory.setConnectTimeout(getTimeout());
    requestFactory.setReadTimeout(getTimeout());

    try {//www.  j  av  a 2  s .  c  o m
        return rt.execute(url, method, requestCallback, new ResponseExtractor<EnhancedResponseExtractor>() {

            // call the EnhancedResponseExtractor registered for this response.statusCode
            @Override
            public EnhancedResponseExtractor extractData(ClientHttpResponse response) throws IOException {
                int statusCode = response.getStatusCode().value();

                EnhancedResponseExtractor enhancedResponseExtractor = extractorMap.get(statusCode);
                if (null == enhancedResponseExtractor)
                    enhancedResponseExtractor = extractorMap.get(statusCode / 100);
                if (null == enhancedResponseExtractor)
                    enhancedResponseExtractor = extractorMap.get(0);
                if (null == enhancedResponseExtractor)
                    throw new IllegalStateException(
                            "No default ResponseExtractor registered. THIS IS NOT HAPPENING :/");

                enhancedResponseExtractor.extractData(url, response);

                return enhancedResponseExtractor;
            }

        });
    } catch (ResourceAccessException e) {
        throw new RuntimeException("Could not connect to " + url + ": " + e.getMessage(), e);
    }
}

From source file:jp.go.aist.six.util.core.web.spring.SpringHttpClientImpl.java

/**
 * Generic HTTP method execution.//from   www .  j a v  a  2  s . c o m
 *
 * @throws  HttpException
 *  when an exceptional condition occurred during the HTTP method execution.
 */
protected <T> T _execute(final String string_url, final HttpMethod method, final RequestCallback callback,
        final ResponseExtractor<T> extractor) {
    _LOG_.debug("HTTP: method = " + method + ", URL=" + string_url);

    URI uri = null;
    try {
        URL url = new URL(string_url); //throws MalformedURLException
        uri = url.toURI(); //throws URISyntaxException
    } catch (Exception ex) {
        _LOG_.error("HTTP client error: " + ex);
        throw new HttpException(ex);
    }

    T response = null;
    try {
        RestTemplate rest = new RestTemplate();
        response = rest.execute(uri, method, callback, extractor);
        //throws RestClientException
    } catch (Exception ex) {
        _LOG_.error("HTTP client error: " + ex);
        throw new HttpException(ex);
    }

    return response;
}