在在springnvc/springboot中,我们知道如用HTTP POST方法来写REST 调用,则@RequestBody是不允许有多个的,比如下面的声明是无效的。
@RequestMapping(value = "/updateInsert", method = RequestMethod.POST, produces = "application/json")
@ResponseStatus(value = HttpStatus.OK)
@ResponseBody
public String updateInsert(@RequestBody ActivitiBpm old,@RequestBody ActivitiBpm new ) {
....
}
那如果来实现同样的功能呢? 一个方法就是要利用HashMap
@RequestMapping(value = "/updateInsert", method = RequestMethod.POST, produces = "application/json")
@ResponseStatus(value = HttpStatus.OK)
@ResponseBody
public String updateInsert(@RequestBody HashMap<String,ActivitiBpm> data) {
ActivitiBpm oldentity=data.get("oldValue");
ActivitiBpm newentity=data.get("newValue");
.....
}
输入的jason数据格式如下:
{
"oldValue" : { "name" : "bigtree103"},
"newValue" : { "name" : "bigtree103","createTime" : "2018-08-23 8:16:22" }
}