Я обнаружил ошибку 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();
}