Как получить тело модифицированного вызова в обратном вызове

#android #retrofit2 #okhttp

#Android #retrofit2 #okhttp

Вопрос:

Предполагая, что у меня есть этот фиктивный API

 @POST("somepath/setSomething")
Call<ExecuteResponse> setSomething(@Body ExecuteInput input);
  

и этот обратный вызов

 Callback<ExecuteResponse> callBack = new Callback<ExecuteResponse>() {
        @Override
        public void onResponse(Call<ExecuteResponse> call, Response<ExecuteResponse> response) {};
  

Как я могу получить доступ к телу вызова и вернуть свой объект ExecuteInput?

Комментарии:

1. Вы можете попробовать call.request() , если пытаетесь получить исходный запрос.

2. @christoandrew этот фрагмент кода вернет мне не объект, а объект запроса OkHttp3

Ответ №1:

Вы можете сделать response.getBody() , и вы получите объект, который вы указали внутри Response<???> . В этом случае ExecuteResponse .

Конечно, я предполагаю, что вы определили @SerializedName внутри своего объекта или что у вас есть правильные имена полей внутри ExecuteResponse класса модели.

Комментарии:

1. я спрашиваю, как получить запрос, а не ответ