时间:2022-07-25 10:53:51 | 栏目:JAVA代码 | 点击:次
百度了好久,还是自己摸索出来的。。。
public String addUserRole(@RequestParam("userId")Long userId, @RequestBody List<Long> roleIdList)
addRolePermission(@RequestParam("roleId") Long roleId, @RequestBody Map<Long, List<Long>> metaMap)
object包含一个spuId,一个skuList
就普通的参数传递即可。
/** * 删除Customer * 根据ID删除 * @return */ @RequestMapping("deleteCustomerById") public Boolean deleteCustomerById(String id){ Boolean result = mongoService.deleteCustomer(id); return result; }
前后台分离项目,使用Postman对写好的接口进行测试,请求类型为Post需要向后台传递List<String> list数据下面是后台控制层的java代码
@RequestMapping(value = "/del",method = RequestMethod.POST,produces = "application/json") public Result del(@RequestBody List<String> list)
Postman页面的请求可以这么写:
/** * 批量删除 * @param ids * @return */ @RequestMapping("deleteCustomerByIds") public Boolean deleteCustomerByIds(@RequestParam("ids[]") List<String> ids){ Boolean result = mongoService.deleteCustomer(ids); return result; }
/** * 批量删除 * @param customers * @return */ @RequestMapping("deleteCustomerByCustomers") public Boolean deleteCustomerByCustomers(@RequestBody List<Customer> customers){ List<String> ids = new ArrayList<>(); ids.add("1234"); Boolean result = mongoService.deleteCustomer(ids); return result; }
实体类中引用了一个List,泛型为其他实体类
参数是List集合时,Postman中参数格式如下图所示:
如需要传入一个String,一个List<String>
输入参数后报错:@RequestBody对象为空,异常Required request body is missing
直接拦截了入参为空的请求,设置@RequestBody(required = false)后,将不会拦截,可以在后端进行判断
原因是两个参数都使用了@RequestBody接收,正确做法应该是分别使用@RequestParam("id"),@RequestParam("list")指定参数
在Body中选择x-www-form-urlencoded的方式,将map中所需的key和value值输入即可