Book Image

RESTful Java Web Services, Second Edition

Book Image

RESTful Java Web Services, Second Edition

Overview of this book

Table of Contents (17 chapters)
RESTful Java Web Services Second Edition
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Index

Asynchronous RESTful web service client


This section describes the usage of the asynchronous JAX-RS API on the client for calling the RESTful web APIs.

To invoke a REST API asynchronously on the client, you use javax.ws.rs.client.AsyncInvoker. The AsyncInvoker instance is obtained from the call of the Invocation.Builder.async() method, as shown in the following code:

//Other imports are omitted for brevity
import javax.ws.rs.client.AsyncInvoker;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.GenericType;
import javax.ws.rs.core.Response;

String BASE_URI = 
    "http://localhost:8080/hr-services/webresources"; 
Client client = ClientBuilder.newClient();
WebTarget webTarget = client.target(BASE_URI).path("hr").path("departments");
AsyncInvoker asyncInvoker = 
    webTarget.request(APPLICATION_JSON).async();
Future<Response> responseFuture = asyncInvoker.get();
Response response = responseFuture.get();
List<Department> depts = response...