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 String address; //封装address实体类
    private String 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'
 }

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

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

发布了22 篇原创文章 · 获赞 27 · 访问量 5632

猜你喜欢

转载自blog.csdn.net/k_love1219/article/details/101775619