У меня есть POJO, который содержит другой POJO:
public class Outer {
private Long id;
private String name;
@JsonUnwrapped
private Inner inner;
}
И это Внутренний класс:
public class Inner {
private Long id;
private String name;
private String feature;
}
Как видите, оба эти объекта могут иметь идентификатор и имя, так как в то время как я использовал @JsonUnwrapped
, могут быть некоторые дублированные ключи. У меня есть контроллер покоя:
@RestController
public class Temp {
@RequestMapping("/test")
public Outer test() {
Inner inner = new Inner(null, "innerName", "feature");
Outer outer = new Outer(10L, "outerName", inner);
return outer;
}
}
Каждый раз, когда я вызываю метод, результат будет таким: {"id":1, name:"outerName", id: null, name:"innerName","feature":"feature"}
Я хочу получить этот результат:
{"id":1, name:"innerName","feature":"feature"}
Я имею в виду, что всякий раз, когда у внутреннего объекта есть значение для дублирующего ключа, значение должно быть взято из внутреннего объекта, и если значение было равно нулю для дублирующего ключа внутри внутреннего класса, значение должен быть взят из внешнего объекта.