gpt4 book ai didi

android - Spring Android RestTemplate 设置 Timeout 和 TimeoutListener

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:03:39 25 4
gpt4 key购买 nike

我在我的 Android 应用程序中使用以下代码来使用 RestTemplates

return getRestTemplate().postForObject(url, forgotPasswordRequest,
ForgetPassword.Response.class);

现在我如何设置请求超时并使用超时监听器来捕获请求超时?

亲切的问候

最佳答案

RestTemplate restTemplate = new MyRestTemplate(10*1000);
return restTemplate.postForObject(url, forgotPasswordRequest,
ForgetPassword.Response.class);

[...]


protected class MyRestTemplate extends RestTemplate {
public MyRestTemplate(int timeout) {
if (getRequestFactory() instanceof SimpleClientHttpRequestFactory) {
Log.d("HTTP", "HttpUrlConnection is used");
((SimpleClientHttpRequestFactory) getRequestFactory()).setConnectTimeout(timeout);
((SimpleClientHttpRequestFactory) getRequestFactory()).setReadTimeout(timeout);
} else if (getRequestFactory() instanceof HttpComponentsClientHttpRequestFactory) {
Log.d("HTTP", "HttpClient is used");
((HttpComponentsClientHttpRequestFactory) getRequestFactory()).setReadTimeout(timeout);
((HttpComponentsClientHttpRequestFactory) getRequestFactory()).setConnectTimeout(timeout);
}
}
}

关于android - Spring Android RestTemplate 设置 Timeout 和 TimeoutListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16162417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com