controller层接收参数转复杂对象

2020-08-08  本文已影响0人  夜月河色

1. 普通方式

前端数据:

equipType: 15
name: aaa

其中,equiType是另个一个对象的id。
通过controller直接接收:

 public Object saveEquip(Equip equip) {
        Rep.equip().save(equip);
        return "success";
}

equipTpye数据如下:

id:15
name:bbb

接收到的equip数据自动包含了id为15的equipTpye所有数据。

2. json方式

前端数据:

{
"equipType": {"id":15}
"name": "aaa"
}

传输数据时,需要将 equipType: 15 改为 equipType: {id:15}。将接收参数用@RequstBody注解。

 public Object saveEquip(@RequstBody Equip equip) {
        Rep.equip().save(equip);
        return "success";
}

equipTpye数据如下:

id:15
name:null

详细如下:https://www.jianshu.com/p/8ee7d4e7dde5

3. 区别

  1. json方式只会将 15 放入 equipType 中,普通方式则会自动获取id为15的equipType的其他数据。
  2. json方式可以传入id为15的equipType的其他数据,普通方式只允许传入equipType的id。
    总结:也就是说json传入的是数据,普通方式传入的是关系。
上一篇 下一篇

猜你喜欢

热点阅读