Spring's central class for asynchronous client-side HTTP access. Exposes similar methods as RestTemplate, but returns ListenableFuture wrappers as opposed to concrete results. See more about AsyncRestTemplate
1. Create a maven project with below dependencies
1. Create a maven project with below dependencies
<dependency>2. Create a main class to test AsyncRestTemplate
<groupid>org.springframework</groupid>
<artifactid>spring-core</artifactid>
<version>4.0.6.RELEASE</version>
</dependency>
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-web</artifactid>
<version>4.0.6.RELEASE</version>
</dependency>
import java.util.concurrent.ExecutionException;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.concurrent.ListenableFuture;
import org.springframework.web.client.AsyncRestTemplate;
public class AsyncRestTemplateExample {
public static void main(String[] args) {
String url = "http://pretechsol.com";
AsyncRestTemplate asyncRestTemplate = null;
HttpMethod method = null;
try {
// Create AsyncRestTemplate object
asyncRestTemplate = new AsyncRestTemplate();
// Define http method
method = HttpMethod.GET;
// Define response type
Class responseType = String.class;
// Define headers
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.TEXT_PLAIN);
HttpEntity<String> requestEntity = new HttpEntity<String>("params",
headers);
ListenableFuture<ResponseEntity<String>> future = asyncRestTemplate
.exchange(url, method, requestEntity, responseType);
ResponseEntity<String> entity = future.get();
System.out.println(entity.getBody());
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
}
}
No comments:
Post a Comment