Java种前端包括三个实体类变量,后台怎么用VO接收前端传过来的值
在实际项目开发过程中,前后端单表交互的虽然比较多;但是像前端包括三个以上实体类的变量,后台接收前端传过来的值的时候就变得复杂一些了,今天给在这里记录一下怎么实现这种操作。主要分为两种方法:
1、第一种方法:
- 前台传值对象封装可以参照以下代码格式;
{"对象一":{},"对象二":{},"对象三":{}}
{ "name": "BeJson", "url": "http://www.bejson.com", "page": 88, "isNonProfit": true, "address": { "street": "科技园路.", "city": "江苏苏州", "country": "中国" }, "links": [ { "name": "Google", "url": "http://www.google.com" }, { "name": "Baidu", "url": "http://www.baidu.com" }, { "name": "SoSo", "url": "http://www.SoSo.com" } ]}
- Ajax请求保持不变
return ajax.ajax({ type: 'post', url: jsonUrl.demo+"/add", params: params});
- 后台实体类需要封装成VO格式
public class Demo{ private String name; private String url; private String page; private String isNonProfit; private List address; //封装address实体类 private List links; //封装links实体类 /** *省略set、get方法 */}
- 控制器接收方法如下:
@ApiOperation(value = "demo", notes = "demo") @Permission("demo:add")@PostMapping(value = "/add") public ReturnEntity add(@RequestBody Demo demo) throws Exception { ReturnBody returnBody = null; returnBody = demoService.insert(demo); return new ReturnEntity(returnBody)}
这样在Debug时就能在后台对应方法里面看到所有的实体类的前端输入的变量值;
2、第二种方法
- 前端ajax请求时加上如下语句
data:JSON.stringify(data),headers:{ 'Accept':'application/json', 'Content-Type': 'application/json'}
后台直接对应三个实体类接收前端传值即可;
注意: 一定要注意前端传值对象的格式要和后台接收值时对应,不然接收不到值。
由于水平有限,本博客难免有不足,请各位大佬不吝赐教!!!