У меня есть SPA-запрос, для которого мне нужно создать класс Object, я хочу знать, как сопоставить объекты и его атрибуты:
RequestPayload: [
9, {
$ type: "SetSelfTradePrevention", нет: false, все: false, accountIds: [
{
id: "332910"}, {
id: "232359"}]}]
ЕслиTradePrevention - это класс, тогда accountIds будет объектом, а id - его атрибутом
@JsonSerialize(using = SpaSerializer.class)
public class TradePrevention extends SpaEvent {
private boolean all;
private boolean none;
private List<AccountIds> accountIds;
int spaCallMagicNumber;
public static class AccountIds{
String id;
//gette rand setter
}
public int getSpaCallMagicNumber() {
return spaCallMagicNumber;
}
public void setSpaCallMagicNumber(int spaCallMagicNumber) {
this.spaCallMagicNumber = spaCallMagicNumber;
super.magicNumber = spaCallMagicNumber;
}
public TradePrevention(List accountIds, Boolean all, Boolean none, int magicNum) {
this.all = all;
this.none = none;
this.accountIds = accountIds;
setSpaCallMagicNumber(magicNum);
}
@Override
protected void fetchFields(JsonGenerator jgen) {
try {
jgen.writeFieldName("all");
super.write(all,jgen);
jgen.writeFieldName("none");
super.write(none,jgen);
jgen.writeObjectFieldStart("accountIds");
jgen.writeFieldName("id");
super.writeArray("accountIds", accountIds.getId().toArray,jgen);
jgen.writeEndObject();
} catch (IOException e) {
e.printStackTrace();
}
}