Obtention du contenu du corps de la requête à l'aide de la méthode POST Retrofit 2.0

J'ai une exigence pour obtenir une demande de corps et d'effectuer certaines opérations logiques avec de Rénovation 2.0 avant de faire enque opération. Mais malheureusement, je ne suis pas en mesure d'obtenir le poste le contenu du corps de mon appel de service. À l'heure actuelle, après une recherche beaucoup, j'ai trouvé qu'une seule solution comme logging la request que je suis la publication à l'aide de Rénovation 2.0 à partir de cette méthode en utilisant HttpLoggingInterceptor avec OkHttpClient. J'utilise le code suivant pour ouvrir une session le corps de la requête dans l'Android Logcat:

HttpLoggingInterceptor logging = new HttpLoggingInterceptor();  
       logging.setLevel(Level.BODY);
    OkHttpClient httpClient = new OkHttpClient();
    httpClient.interceptors().add(logging);

    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(baseURL)
            .addConverterFactory(GsonConverterFactory.create())
            .build();

    return retrofit.create(apiClass);

Problème, je suis confronté avec la méthode ci-dessus:

  1. Du corps de la requête sont vues seulement à la valeur par défaut d'Android Logcat comme

02-04 01:35:59.235 5007-5035/com.example.retrofitdemo D/OkHttp:{"nameValuePairs":{"id":"1","name":"chandru","type":"user"}}

Mais la méthode ci-dessus ne retourne que le corps de la réponse dans le logcat, je ne suis pas en mesure de l'obtenir que soit String ou JSONObject. Même si je pouvais en mesure d'obtenir la réponse du corps à l'aide de HttpLoggingInterceptormon corps de la requête sera affiché dans le Logcat avec le tag "OkHttp" tout le temps, même après l'application va dans la production (principalement de ce conduit comme une sorte de soulager les données post dans le logcat).

Mon Exigence:

J'ai besoin d'obtenir le corps de la requête comme String ou JSONObject ou quelle que soit la méthode, sans critiquer le post de données dans le Logcat.

Ce que j'ai essayé:

J'ai essayé de récupérer le corps de la requête, même après onResponse de Response<T> responsemais si je ne pouvais pas en mesure de le faire possible. Veuillez trouver le code que j'utilise à cet effet comme suit:

 Gson gson = new Gson();
 String responseString =  gson.toJson(response.raw().request().body());

Remarque: ci-dessus converti du corps de la requête à l'aide de gson.toJson méthode renvoie uniquement les méta-données, la demande de données post.

De bien vouloir m'aider en fournissant vos précieux conseils et de solutions. Je n'ai aucune idée de comment faire cela. Je suis complètement coincé avec ce pour les deux derniers jours. S'il vous plaît pardonnez si ma question est trop longue. Vos commentaires sont toujours les bienvenus. Ne laissez-moi savoir si ma demande n'est pas claire. Merci à l'avance.

source d'informationauteur Chandru | 2016-02-03