Я хотел бы отправить массив объекта в mongodb, используя android retrofit2.
Здесь я передам значения объекта в виде пользовательского ввода текста.
Класс модели
public class CreateRooms {
@SerializedName("room")
@Expose
List<CreateRoomName> createRoomNames;
public void setCreateRoomNames(List<CreateRoomName> createRoomNames) {
this.createRoomNames = createRoomNames;
}
public static class CreateRoomName{
@SerializedName("roomName")
public String room_name;
public void setRoom_name(String room_name) {
this.room_name = room_name;
}
}
}
ApiInterface
@PUT
Call<CreateRooms> createRooms(@Url String url, @Body CreateRooms createRoomName);
Класс активности
CreateRooms rooms = new CreateRooms();
CreateRooms.CreateRoomName createRoomName = new CreateRooms.CreateRoomName();
createRoomName.setRoom_name("Hall"+"_"+"image1"+"_"+"1");
List<CreateRooms.CreateRoomName> list = new ArrayList<>();
list.add(createRoomName);
rooms.setCreateRoomNames(list);
Call<CreateRooms> call = cloudInterface.createRooms("url",rooms);
call.enqueue(new Callback<CreateRooms>() {
@Override
public void onResponse(Call<CreateRooms> call, Response<CreateRooms> response) {
}
@Override
public void onFailure(Call<CreateRooms> call, Throwable throwable) {
}
});
Когда я пытался вставить данные в mongodb, они были вставлены, как показано ниже.
"room": [{
"0": {
"roomName": "a_kitchen_10",
"_id": "5e58f628146439fc45f1e8a0"
},
"1": {
"roomName": "a_kitchen_11",
"_id": "5e58f628146439fc45f1e89f"
}
}
]
Я хочу вставить данные, как показано ниже.
"room": [
{
"roomName": "a_kitchen_10"
},
{
"roomName": "a_kitchen_11"
}
]
Что не так в моем коде. Может кто-нибудь, пожалуйста, сообщите мне, как решить эту проблему.
Заранее спасибо.