web-dev-qa-db-fra.com

Comment récupérer la réponse JSON à partir d'une réponse javax.ws.rs.core.Response?

Je fais une demande à une API et j'obtiens un code d'état de réponse de 200.

La réponse de l'API inclut une réponse json.

import javax.ws.rs.core.Response;

Response response = webclient.post(SomeReqString);

Comment puis-je récupérer la réponse json sous forme de chaîne à partir de la réponse du client Web?

27
pseudoCoder

Vous pouvez utiliser le code suivant

String responseAsString = response.readEntity(String.class);
47
whoami

Essayez d'utiliser la méthode Response.getEntity() , qui renvoie un InputStream . Ensuite, pour convertir votre InputStream en une chaîne, cochez cette question . Si vous avez vraiment besoin de mapper la chaîne JSON à une entité Java, envisagez d'appeler directement Response.readEntity() . Notez que si vous consommez le InputStream, vous devrez probablement traiter le flux d'entrée par vous-même.

8
Andrei I