Ошибка 500 при публикации данных с использованием http3 в Android - PullRequest
0 голосов
/ 26 марта 2020

Я обнаружил ошибку 500 при публикации данных, но в API почтальона возвращает 200 ответов. Ниже приведен фрагмент кода. Удивительно, но я получаю ошибку 500, но данные все еще вставляются в базу данных. пытался найти, что не так с этой частью реализации кода.

//Initiate retrofit instance
        client = new OkHttpClient.Builder()
                .connectTimeout(200, TimeUnit.SECONDS)
                .writeTimeout(200, TimeUnit.SECONDS)
                .readTimeout(200, TimeUnit.SECONDS)
                .build();

Данные вставляются в форму тела следующим образом: -

    RequestBody formBody = new FormBody.Builder()
                    .add("customer_name",fullName)
                    .add("customer_phone",phoneNumber)
                    .add("customer_id_num",senderID)
                    .add("id_photo",imagePath)
                    .add("customer_id_type",idType)
                    .add("customer_residence",senderAddress)
                    .add("staff_name",mStaffName)
                    .add("token",mToken)
                    .build();

Request request = new Request.Builder()
                .url(BASE_URL+"customer_kyc")
                .post(formBody)
                .build();

try{
        client.newCall(request).enqueue(new okhttp3.Callback() {
            @Override
            public void onFailure(okhttp3.Call call, IOException e) {
                progressDialog.dismiss();
                e.printStackTrace();
            }

            @Override
            public void onResponse(okhttp3.Call call, okhttp3.Response response) throws IOException {
                progressDialog.dismiss();
                Log.d("Response: ", response.toString());
                if(response.isSuccessful()){
                    try {
                        //Validate OTP
                        parseData(response.body().string());
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }else {
                    getActivity().runOnUiThread(new Runnable() {
                        public void run() {
                            Toast.makeText(getActivity(), R.string.server_reachable_error, Toast.LENGTH_SHORT).show();
                        }
                    });
                }
            }
        });
    } catch (Exception e){
        e.printStackTrace();
    }
...