需求:mybatis做批量添加时,需要前台传递一个List<Book> ,这时候需要用postman模拟浏览器发送一个list集合的数据。 本质上就是模仿前端的参数形式,并组合就可以了;
一、前端操作:postman的设置:
1.填写接口—>选择Headers,设置参数类型:
2.点击Body—>选择raw—>选择JSON(或者application/json),
3.然后在body中写自己想要的json参数内容(json内容要注意括号和分隔的逗号,这里容易出错,出错时文本有提示)
说明:这里[]是前端的一个数组/集合,{}代表前端的一个对象,{}中的内容是key:value形式表示
完成以上操作,postman的操作就完成了,但是这样的话,后台是接收不到的,500异常,下面我们看看后台的数据处理
二、后台数据操作:
1.注解@ResponseBody(代表返回给前台内容为json)—>@RequestBody(接收前台发送过来的json格式数据),接下来就是最关键的了,这时候不能@RequestBody JSONObject str 这样接收,必须@RequestBody Object str用object来接收:
//批量操作
@RequestMapping(value = "/batchInsertBook" ,method = RequestMethod.POST)
@ResponseBody//返回给前台是一个json字符串
public String batchInsertBook(@RequestBody/*从前台接收一个json字符串*/ List<Book> books){
int i = bookService.batchInsertBook(books);
if(i>=1){
return "新增了"+i+"条数据";
}else{
return "批量新增失败";
}
}
测试结果:
批量删除的postman测试:
controller后台设置:
//批量操作
@RequestMapping(value = "/batchDeleteBook" ,method = RequestMethod.POST)
@ResponseBody//返回给前台是一个json字符串
public String batchDeleteBook(@RequestBody/*从前台接收一个json字符串*/ List<Integer> ids){
int i = bookService.batchDeleteBook(ids);
if(i>=1){
return "删除了"+i+"条数据";
}else{
return "批量删除失败";
}
}
postman设置:
|