как распечатать запрос тела в logcat - PullRequest
0 голосов
/ 17 декабря 2018

Я использую okhttp3 для загрузки изображений в несколько частей.Я отправляю параметры в requestBody, но не понимаю, как распечатать все параметры в logcat.Пожалуйста, помогите

requestBody = new MultipartBody.Builder()
                .setType(MultipartBody.FORM)
                .addFormDataPart("image_file_name", filename + ".jpg"+",", fileBody)
                .addFormDataPart("name", edtName.getText().toString())
                .addFormDataPart("type", "P")
                .addFormDataPart("password", edtPwd.getText().toString())
                .addFormDataPart("c_password", edtConfrmPwd.getText().toString())
                .addFormDataPart("cloud_token", "AND")
                .addFormDataPart("gender", "M")
                .addFormDataPart("postal_code", edtPostCode.getText().toString())
                .addFormDataPart("address", edtAddress.getText().toString())
                .addFormDataPart("image_encode_string", encodeImage)
                .addFormDataPart("fcm_id", "11212")
                .addFormDataPart("email", edtEmail.getText().toString())
                .addFormDataPart("phone", edtPhone.getText().toString())
                .build();

        Log.e("TAG", "requestBody: "+requestBody.toString());

здесь

 Log.e("TAG", "requestBody: "+requestBody.toString());

печатает

okhttp3.MultipartBody@84d3c7f

и не печатает всепараметры.

1 Ответ

0 голосов
/ 17 декабря 2018

для печати requestBody, вам нужно использовать Logging Interceptor by retrofit, который будет печатать журналы, относящиеся к запросу, в logcat.

изменить ваш модифицированный объект следующим образом ->

private static final Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(BASE_URL)
            .client(new OkHttpClient().newBuilder()
                    .addInterceptor(new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY))
                    .readTimeout(READ_TIMEOUT_SECONDS, TimeUnit.SECONDS)
                    .writeTimeout(WRITE_TIMEOUT_SECONDS, TimeUnit.SECONDS)
                    .connectTimeout(CONNECTION_TIMEOUT_SECONDS, TimeUnit.SECONDS)
                    .build())
            .addConverterFactory(GsonConverterFactory.create())
            .build();

идобавить перехватчик регистрации внутри вашего gradle ->

compile 'com.squareup.okhttp3:logging-interceptor:3.12.0'

Надеюсь, это поможет.

...