所以我知道,当提供类似以下内容时,Spring会自动正确地正确映射复杂对象:
@PostMapping("/foo")
public String insertObject(@ModelAttribute MyComplexObject bar) {
//do something
return "redirect:baz";
}
假设MyComplexObject
具有“可映射”属性,例如类似以下内容:
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
的列表,该列表可以再次引用另一个列表,依此类推。
我发现一种可能的解决方案是为所需的类创建一个表单对象,该对象将所有属性转换为可映射的类型,但即使如此,根据复杂性它还是很繁琐和混乱的。
每个建议都值得赞赏!