У меня есть требование получить тело запроса и выполнить некоторые логические операции с помощью Retrofit 2.0 перед выполнением операции enque
. Но, к сожалению, я не могу получить содержание тела сообщения из моего служебного вызова. В настоящее время после многого поиска я нашел только одно решение, такое как logging
request
, которое я публикую с помощью Retrofit 2.0 от this method, используя HttpLoggingInterceptor
с OkHttpClient
. Я использую следующий код для входа в тело запроса в Android LogCat:Получение содержимого тела пользователя с использованием Retrofit 2.0 Метод POST
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);
Проблема я столкнулся с описанным выше способом:
- Запрос тела рассматриваются только по умолчанию Android LogCat как
02-04 01:35:59.235 5007-5035/com.example.retrofitdemo D/OkHttp:{"nameValuePairs":{"id":"1","name":"chandru","type":"user"}}
Но выше метод возвращает ОНЛ y в логарифме, я не могу получить его либо String
, либо JSONObject
. Несмотря на то, что если я смогу получить тело ответа с использованием HttpLoggingInterceptor
, тело запроса будет отображаться в Logcat с тегом «OkHttp» все время даже после того, как приложение поступит в производство (так что в первую очередь это приводит к некоторому облегчению отправьте данные в logcat).
Мой Требование:
Мне нужно, чтобы получить тело запроса в String
или JSONObject
или любым другим способом, не злословил почтовые данные в LogCat.
Что я пробовал:
Я пытался забрать тело запроса, даже после того, как onResponse
от Response<T> response
, но, хотя я не мог в состоянии сделать это возможным. Вы можете найти код, который я использую для этой цели следующим образом:
Gson gson = new Gson();
String responseString = gson.toJson(response.raw().request().body());
Примечание: выше преобразованное тело запроса с использованием gson.toJson
метод возвращает только мета-данные не по просьбе почтовых данных.
Просьба помочь мне в этом, предоставив ценные советы и решения. Я не знаю, как это сделать. Я полностью застрял с этим в течение последних двух дней. Пожалуйста, простите, если мой вопрос слишком длинный. Ваши комментарии всегда приветствуются. Дайте мне знать, если мои требования не ясны. Заранее спасибо.
вы получите решение для этого, м также сталкивается с проблемой с этим – sector11
Пока нет. Дай мне знать, если получишь. – Chandru