【发布时间】:2016-12-06 19:59:04
【问题描述】:
我在使用Spring的RestTemplate时,需要通过HttpClient设置某些参数。
我目前通过以下方式执行此操作:
HttpClient httpClient = new HttpClient();
httpClient.getParams().setSoTimeout(prefs.getServerTimeout());
httpClient.getParams().setConnectionManagerTimeout(3000);
httpClient.getParams().setContentCharset("UTF-8");
httpClient.getParams().setCredentialCharset("ISO-8859-1", )
...
CommonsClientHttpRequestFactory requestFactory = new CommonsClientHttpRequestFactory(httpClient);
requestFactory.setReadTimeout(prefs.getServerTimeout());
RestTemplate restTemplate = new RestTemplate(requestFactory);
目前到处都在使用的HttpClient,例如在
HttpComponentsClientHttpRequestFactory.getHttpClient()
指的是 Android 附带的已弃用的。
由于它已被弃用,并在 6.0 中从 Android 中删除,我该如何继续使用带有 RestTemplate 的 HttpClient 对象?
由于它们共享相同的包 (org.apache.http.client),我不确定如何在 6.0 之前/之后进行这项工作。
(我尝试在没有设置 HttpClient 的情况下使用 httpclient-android 和 HttpComponentsClientHttpRequestFactory,然后它似乎正在使用 CloseableHttpClient。但是方法签名是前面提到的已弃用的 HttpClient。)
指针将不胜感激。
【问题讨论】:
标签: android spring resttemplate spring-android