Итак, я знаю, что Spring автоматически отображает сложные объекты правильно, когда предоставляется как:
@PostMapping("/foo")
public String insertObject(@ModelAttribute MyComplexObject bar) {
//do something
return "redirect:baz";
}
учитывая, что MyComplexObject
имеет атрибуты "mappable", например что-то похожее на:
public class MyComplexObject {
private long id;
private String name;
public MyComplexObject(long id, String name) {
this.id = id;
this.name = name;
}
// setters & getters etc
}
Однако, что если требуемый объект в свою очередь имеет другие сложные объекты в качестве атрибутов, например, MyComplexObject
хранит список MyOtherObject
, который снова может ссылаться на другой и так далее.
Возможным решением, которое я нашел, было создание объекта формы для требуемого класса, который переводит все атрибуты в сопоставляемые типы, но даже в этом случае это будет довольно утомительным и грязным в зависимости от сложности.
Каждое предложение высоко ценится!