@ModelAttribute前台似乎不能传入一个嵌套的对象
2021-04-09 本文已影响0人
尘埃里的玄
问题:
![](https://img.haomeiwen.com/i16047078/3b413027ba822aac.png)
p对象中在包含了两个对象,这样后台用@ModelAttribute似乎不行,他似乎只能接受类似这种对象:
{'A':'a','B':'b','C':'c'......},不能接受复合对象(作者推断,未尝试)
其实最主要的原因的是:
![](https://img.haomeiwen.com/i16047078/3ebc5454261f6ccb.png)
对象里面含有两个相同的key,所以前台使用ts的object.assign(target,source)也不行,因为他会合并只剩下一个key了
所以我怀疑也有可能可以接受复合对象,但是复合对象里的多个子对象的值不允许重复。
所以解决方式是:
前台不变。改后台
之前:
![](https://img.haomeiwen.com/i16047078/149583e6cb39a09f.png)
修改:
![](https://img.haomeiwen.com/i16047078/8e662622809f64f5.png)
![](https://img.haomeiwen.com/i16047078/950e6214cea73bb0.png)
![](https://img.haomeiwen.com/i16047078/426e19484a3aff99.png)
没错使用@RequestBody注解
tip:@RequestBody的content-type是application/json格式
@ModelAttribute是www-form的格式
参考网址:
https://www.cnblogs.com/unknows/p/11276345.html