我在这里看到了类似的答案:
Spring MVC: Complex object as GET @RequestParam
Spring map GET request parameters to POJO automatically
我真的找不到这个文档,因为这个自动映射甚至没有通过任何注释完成。 (事实上它甚至不需要@RequestParam
)
1)到目前为止我只看到简单的映射,该对象包含所有原始数据,如果我的请求是一个包含多个属性级别(一个对象包含其他对象)的复杂JSON对象怎么样?自动映射是否仍然有效?
2)到目前为止我只看到Spring控制器可以接受一个自动映射对象,我可以让它自动映射多个对象吗?例如:
public @ResponseBody List<MyObject> myAction(MyObject myObject,
MyObject2 myObject2) { ... }
任何人都知道文档在哪里描述映射在幕后工作的方式?基于我的第二个问题,如果Spring允许这样做,如果我在MyObject
和MyObject2
中有相同的属性名称,该映射将如何执行该怎么办?
答案 0 :(得分:1)
如果您这样做:
public @ResponseBody List<MyObject> myAction(@RequestBody MyObject myObject) { ... }
当然,您的http请求中只能有一个正文。
只要你的类路径中有杰克逊(弹簧启动会自动添加),你的对象就会被正确编组。
如果您身体中的JSON不正确,您将收到400(无效请求)。