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'
}

后台直接对应三个实体类接收前端传值即可;

注意: 一定要注意前端传值对象的格式要和后台接收值时对应,不然接收不到值。


由于水平有限,本博客难免有不足,请各位大佬不吝赐教!!! 

你可能感兴趣的:(Java)