I want to know how I can extract a List
as response from the jersey-2.0
client.
I have already tried this,
Li
1) Take your Response in the then parse the Response Object using readEntity() method.
List<String> list = client.target(url).
request(MediaType.APPLICATION_JSON).get(Response.class).readEntity(new GenericType<List<String>>() {
});
First add jackson dependency
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.27</version>
</dependency>
Then create Client Config
ClientConfig config = new ClientConfig();
config.register( JacksonFeature.class );
Finally create the client through the ClientConfig
List<String> list = ClientBuilder.newClient( config )
.target( uri )
.request()
.get( Response.class )
.readEntity( List.class );
You can get your service response as Response
class object and, then parse this object using readEntity(...)
method.
Here is a quick code snippet:
List<String> list = client
.target(url)
.request(MediaType.APPLICATION_JSON)
.get(Response.class)
.readEntity(new GenericType<List<String>>() {});
/* Do something with the list object */
String listString= serviceResponse.readEntity(String.class);
Gson gson=new Gson();
Type type = new TypeToken<List<String>>(){}.getType();
List<String> list = gson.fromJson(listString, type);
Get response string and then convert to List by using gson library