#android #retrofit #pojo
#Android #модернизация #pojo
Вопрос:
Я должен опубликовать массив объектов JSON. Пример JSON вставлен ниже:
[
{
"checklistkey": "what is your age ___ and ur bd___",
"checklistvalue": "yes",
"taskId": "PMTASK-cmms-01-71-1"
},
{
"checklistkey": "how r you___? ______",
"checklistvalue": "no",
"taskId": "PMTASK-cmms-DE01-71-1"
}
]
Количество объектов здесь будет добавлено динамически на основе идентификатора, полученного в предыдущем запросе.
Теперь POJO для этого выглядит следующим образом:
public class CheckListAddRequest {
@SerializedName("taskId")
@Expose
private String taskId;
@SerializedName("checklistkey")
@Expose
private String checklistkey;
@SerializedName("checklistvalue")
@Expose
private String checklistvalue;
public String getTaskId() {
return taskId;
}
public void setTaskId(String taskId) {
this.taskId = taskId;
}
public String getChecklistkey() {
return checklistkey;
}
public void setChecklistkey(String checklistkey) {
this.checklistkey = checklistkey;
}
public String getChecklistvalue() {
return checklistvalue;
}
public void setChecklistvalue(String checklistvalue) {
this.checklistvalue = checklistvalue;
}
public CheckListAddRequest(String taskId, String checklistkey, String checklistvalue) {
this.taskId = taskId;
this.checklistkey = checklistkey;
this.checklistvalue = checklistvalue;
}}
Для этого требуется дооснащение:
@POST("cmms")
@Headers("Content-Type: application/json")
Call<CheckListAddResponse> getCheckListAdd(@Body CheckListAddRequest checkListAddRequest,
@Header("X-Auth-Token") String token,
@Header("workspace") String workspace);
Теперь, когда добавлены детали для создания запроса JSON, я пишу что-то вроде:
CheckListAddRequest checkListAddRequest = new CheckListAddRequest(taskNumber, checkDesc, statusString);
Теперь, если у меня есть более одного объекта в запросе, как я могу его отправить?
Ответ №1:
Это должен быть массив / список, если в нем несколько динамических объектов, вы можете легко изменять элементы, добавлять или удалять из списка и отправлять
ArrayList< CheckListAddRequest>.
внесите это незначительное изменение.
@POST("cmms")
@Headers("Content-Type: application/json")
Call<CheckListAddResponse> getCheckListAdd(@Body ArrayList<CheckListAddRequest> checkListAddRequest,
@Header("X-Auth-Token") String token,
@Header("workspace") String workspace);
теперь передайте значение в список массива или list.