Skip to content

Instantly share code, notes, and snippets.

@ryenus
Forked from jonashackt/RestTemplateConfig.java
Created January 10, 2017 12:50
Show Gist options
  • Save ryenus/edab6098dc4bc5082d13891632f086f3 to your computer and use it in GitHub Desktop.
Save ryenus/edab6098dc4bc5082d13891632f086f3 to your computer and use it in GitHub Desktop.

Revisions

  1. @jonashackt jonashackt created this gist Nov 26, 2015.
    35 changes: 35 additions & 0 deletions RestTemplateConfig.java
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,35 @@
    import java.util.ArrayList;
    import java.util.List;

    import org.apache.http.conn.ssl.NoopHostnameVerifier;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.springframework.http.MediaType;
    import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
    import org.springframework.http.converter.ByteArrayHttpMessageConverter;
    import org.springframework.web.client.RestTemplate;

    public class RestTemplateConfig {

    public static RestTemplate initRestTemplateForPdfAsByteArrayAndSelfSignedHttps() {
    RestTemplate restTemplate = new RestTemplate(useApacheHttpClientWithSelfSignedSupport());
    restTemplate.getMessageConverters().add(generateByteArrayHttpMessageConverter());
    return restTemplate;
    }

    private static HttpComponentsClientHttpRequestFactory useApacheHttpClientWithSelfSignedSupport() {
    CloseableHttpClient httpClient = HttpClients.custom().setSSLHostnameVerifier(new NoopHostnameVerifier()).build();
    HttpComponentsClientHttpRequestFactory useApacheHttpClient = new HttpComponentsClientHttpRequestFactory();
    useApacheHttpClient.setHttpClient(httpClient);
    return useApacheHttpClient;
    }

    private static ByteArrayHttpMessageConverter generateByteArrayHttpMessageConverter() {
    ByteArrayHttpMessageConverter byteArrayHttpMessageConverter = new ByteArrayHttpMessageConverter();

    List<MediaType> supportedApplicationTypes = new ArrayList<MediaType>();
    supportedApplicationTypes.add(new MediaType("application","pdf"));
    byteArrayHttpMessageConverter.setSupportedMediaTypes(supportedApplicationTypes);
    return byteArrayHttpMessageConverter;
    }
    }