JAX-RS jersey Client: la Lecture de la Réponse avec le code d'état
Je suis en utilisant ce code pour invoquer un maillot de JAX-RS de service à l'aide d'un maillot client.
public static void main(String[] args) {
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
WebResource service = client.resource(getBaseURI());
String msg = service.path("rest").path("ExceptionDemo").path("user").queryParam("id", "001").get(String.class);
System.out.println(msg);
}
private static URI getBaseURI() {
return UriBuilder.fromUri("http://localhost:8045/ExceptionHanlding").build();
}
Ce code fonctionne correctement lorsque le code d'état de Réponse est de 200. Mais pour rien d'autre que de 200, ce code génère une exception.
Comment modifier ce code afin que basé sur le code d'état de la réponse qu'il effectue une action?
OriginalL'auteur WhoAmI | 2013-03-03
Vous devez vous connecter pour publier un commentaire.
Utilisation
.get(ClientResponse.class)
au lieu de.get(String.class)
. Qui supprime le "exception sur le mauvais état de" comportement, et la ClientResponse vous donne accès à tous les détails à propos de la réponse HTTP. Le comportement est brièvement décrit dans le guide de l'utilisateur en vertu de "La réception d'une réponse".EntityTag e = response.getEntityTag();
. Qu'est-ce que l'utilisation de ce?Bref, une balise d'entité unique ou quasi-identifie de manière unique un corps de réponse afin de permettre une meilleure mise en cache. Lire la suite dans le HTTP spec ou sur Wikipédia.
OriginalL'auteur Ryan Stewart