Vous pouvez essayer comme ci-dessous
//Not mandatory to create ListUser you can do without it oo just use arraylist directly
class ListUser extends ArrayList<User> {}
méthode webservice
@GET
@Path("getObj/{param}")
@Produces("application/json")
public Response getObj(@PathParam("param") String msg) {
ListUser responses = new ListUser();
responses.add(new User("1"));
responses.add(new User("2"));
responses.add(new User("3"));
if("list".equals(msg))
return Response.status(200).entity(responses).build();
User u=new User();
u.setName("Developer");
return Response.status(200).entity(u).build();
}
code client
Client client = ClientBuilder.newClient();
{
String url = "http://jerseyexample-ravikant.rhcloud.com/rest/jws/getObj/list";
System.out.println(url);
Response response = client.target(url).request().get();
ObjectMapper ob = new ObjectMapper();
Object pojos = response.readEntity(Object.class);
System.out.println(pojos.getClass());
if(pojos instanceof java.util.ArrayList){
ArrayList<User> list = (ArrayList) pojos;
for (Object pojo : list) {
User user = ob.convertValue(pojo, User.class);
System.out.println(user.getName());
}
}else{
System.out.println("user");
User user = ob.convertValue(pojos, User.class);
}
//System.out.println(response);
}
Vous pouvez vérifier le service de travail à http://jerseyexample-ravikant.rhcloud.com/rest/jws/getObj/list
Ici au lieu de la liste en passant vous pouvez passer quoi que ce soit d'autre pour obtenir l'objet
En plus de cette réponse, je l'ai trouvé l'article et il a bien fonctionné.
resteasy response
font l'objet comme une exception et l'attraper en appelant le code – GurV
Eh bien, si vous avez et exception, vous pouvez utiliser le code de résultat et retourner l'objet. Sur le client, en fonction du code, vous saurez si vous avez reçu une «liste» ou une «exception». – AxelH
Vous ne devriez pas jeter l'exception dans les cas où cela peut être fait par d'autres moyens. Comme exception doit être utilisé dans des conditions qui ne peuvent pas être traitées – gladiator