Мне нужно вызвать API, чтобы обновить аварийный контакт указанного c пользователя.
https://stay-safe-api.azurewebsites.net/5eadd53761***0f6017/update/emergency_contact_details
//Body of API
{
"EmergencyContacts": [
{
"FullName" : "Johon",
"PhoneNumberCountryCode" : "ae",
"PhoneNumberCountryDialCode" : "971",
"PhoneNumber" : "5534566"
}
]
}
Итак, у меня есть массив, который я передаю в своем вызове API, но всякий раз, когда он вызывается, я получил ошибку, что входные данные неверны.
Я не знаю, что делаю неправильно. Я новичок, не могли бы вы мне помочь?
APIInteface.class
@FormUrlEncoded
@PUT("update/emergency_contact_details")
Call<RegisterResponse> setEmergencyContact(@Field("EmergencyContacts[]") List<EmergencyList>
EmergencyContacts);
APIClient.class
public static Retrofit getClientEmerg(String id) {
if (retrofit == null) {
retrofit = new Retrofit.Builder()
.baseUrl("https://stay-safe-api.azurewebsites.net" + id + "/")
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
MainActivity.class
ApiInterface apiInterface = ApiClient.getClientEmerg(id).create(ApiInterface.class);
Call<RegisterResponse> call = apiInterface.setEmergencyContact(emergencyLists);
call.enqueue(new Callback<RegisterResponse>() {
@Override
public void onResponse(Call<RegisterResponse> call, Response<RegisterResponse> response) {
}
@Override
public void onFailure(Call<RegisterResponse> call, Throwable t) {
progress.dismiss();
}
});
}
Итак, дайте мне знать, что я делаю неправильно, передавая массив в качестве параметра в вызове API? Потому что я получаю сообщение об ошибке: «Это недопустимый запрос. Убедитесь, что введены правильные данные».
Спасибо.