The following snippet of code shows how to consume a restful webservice.
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.client.Response;
public static void main(String[] args) {
Client client = ClientBuilder.newClient();
// The main URL of the Restful webservice
WebTarget target = client.target("http://localhost:8080/advancedjaxrs/webapi/");
// messages could be replaced with comments or likes or whatever context needs to be fetched.
WebTarget path = target.path("messages");
// messageId is the specific id to be passed for fetch of specific message
WebTarget path2 = path.path("{messageId}");
//First way of getting a response.
Response reponse = path2.resolveTemplate("messageId", "1").request().get();
//Read response
Message m1 = reponse.readEntity(Message.class);
System.out.println(m1.getMessage());
// Second way of reading a response - Directly, we use Message object to get a Message object.
Message message1 = path2
.resolveTemplate("messageId", "1")
.request()
.get(Message.class);
// TO check errors in response, if we map it to a String object, we can get the response as String.
String message2 = path2
.resolveTemplate("messageId", "2")
.request()
.get(String.class);
System.out.println(message1.getMessage());
System.out.println(message2);
}