это буквально заставляет мою голову взорваться, потому что я не могу найти красивый способ решить это: я работаю со сложными ответами, подобными этому.
{
"etiquetaPago": "1001462713 ",
"codigoAdhesion": "01",
"vencimientos": null,
"empresa": {
"codigo": "911",
"descripcion": "Universidad Arg. John F. Kennedy",
"rubro": {
"codigo": "14",
"descripcion": "Instituciones Educativas"
},
"manejaBaseDeudas": false,
"manejaMultiplesConceptos": false,
"manejaIngresoReferencia": true,
"manejaIngresoImportes": false,
"habilitado": true,
"importesFijos": null,
"importesPosibles": null
},
"concepto": [
{
"codigoConcepto": "001",
"descripcionConcepto": "Cuota",
"tipoPago": "PAGO_IGUAL",
"manejaIngresoReferencia": true,
"textoIngresoReferencia": true,
"validaLongitudReferencia": true,
"longitudMinimaTextoReferencia": 2,
"longitudMaximaTextoReferencia": 2,
"manejaIngresoImportes": false,
"manejaRango": true,
"importeFijo": 100.0,
"importeMinimo": 100.0,
"importeMaximo": 100.0
}
]
}
И я должен разобрать это в Класс DTO, подобный следующему:
public class ConsultaPagosAgendaResponseDTO {
List<PagoAgendaDTO> pagosAgendas;
}
Который имеет внутри:
public class PagoAgendaDTO {
private String etiquetaPago;
private String codigoAdhesion;
private EmpresaDTO empresa;
private List<VencimientoDTO> vencimientos;
private List<ConceptoDTO> conceptos;
}
public class EmpresaDTO {
private String codigo;
private String descripcion;
private RubroDTO rubro;
private boolean manejaBaseDeudas;
private boolean manejaMultiplesConceptos;
private boolean manejaIngresoReferencia;
private boolean manejaIngresoImportes;
private boolean habilitado;
}
И продолжается ..
Самый простой способ - сделать это вручную, итерируя с foreach, но я бы хотел go с другим типом подхода, но не знаю, что бы вы порекомендовали?
В этом случае DTO может быть именно таким ответом, но они также могут отличаться.
Спасибо