码迷,mamicode.com
首页 > 其他好文 > 详细

控制器中组合参数的传递

时间:2020-07-15 15:14:00      阅读:53      评论:0      收藏:0      [点我收藏+]

标签:ima   request   nbsp   ldl   定义   lazy   get   com   图片   

组合参数就是类对象参数数组和其他一些变量可能需要在前端通过拼接一个json字符串一次性传入过来,格式如下:

技术图片

 

控制器方法的定义如下:

@PostMapping("/api/dic/saveDicFieldList")
public String saveDicFieldList(@RequestBody List<Object> fieldlist)

注意:对象参数必须要加 @RequestBody 声明,否则无法传递;

然后在方法内部解析,比如获取 {"autoid":245,"moduleno":202},通过以下代码获取:

//取出第0个元素(包含 autoid 和 moduleno)
        Object obj = fieldlist.get(0);
        String jsonstr= JSON.toJSONString(obj);
        JSONObject jobj = JSONObject.parseObject(jsonstr);
        String autoid = jobj.getString("autoid");
        String moduleno = jobj.getString("moduleno");

遍历后面的对象数组,通过以下方法:

//从第一个元素开始,循环保存每个字典属性
        for(int i=1;i<fieldlist.size();i++){
            Object obj_dtf = fieldlist.get(i);
            String jsonstr_dtf= JSON.toJSONString(obj_dtf);
            JSONObject jobj_dtf = JSONObject.parseObject(jsonstr_dtf);

            DicTypeField dtf = JSON.toJavaObject(jobj_dtf,DicTypeField.class);
            res = dtf.save();
        }

把json对象转为类对象,要用JSON.toJavaObject来转换,不能直接用 (T)obj 的方式强制转化,否则会提示转换失败。(可能是我没找到方法)。

控制器中组合参数的传递

标签:ima   request   nbsp   ldl   定义   lazy   get   com   图片   

原文地址:https://www.cnblogs.com/lpq21314/p/13304542.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!