Мне нужно опубликовать массив участников, как показано на рисунке выше. Я попытался использовать Hashmap, но он дает некоторые ошибки, и я не знаю, является ли это ошибкой на стороне сервера или модернизацией. Вот мой код:
Интерфейс API
@FormUrlEncoded
@POST("vendor/event/{id}/checkin")
Call<DefaultResponse> updateAttendance(
@Path("id") int id,
@QueryMap Map<String,String> attendees,
@Field("token") String token);
Класс ответа
String message;
public DefaultResponse(String message) {
this.message = message;
}
public String getMessage() {
return message;
}
А вот код моей активности
final Map<String,String> attendees = new HashMap<>();
for (int i = 0; i < attendeesTables.size(); i++){
attendees.put("id", String.valueOf(attendeesTables.get(i).getId()));
attendees.put("arrival_time",
attendeesTables.get(i).getArrival_time());
}
if (attendeesTables.size() > 0) {
Call<DefaultResponse> call = RetrofitClient.getmInstance().getApi().updateAttendance(event_id,attendees,token);
call.enqueue(new Callback<DefaultResponse>() {
@Override
public void onResponse(Call<DefaultResponse> call, Response<DefaultResponse> response) {
Toast.makeText(EventsDetailsActivity.this, response.code()+"", Toast.LENGTH_SHORT).show();
Toast.makeText(EventsDetailsActivity.this, response.isSuccessful()+"", Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(Call<DefaultResponse> call, Throwable t) {
Toast.makeText(EventsDetailsActivity.this, t.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
Я делаю все правильно? Я получаю код запроса 400 (неверный запрос)