Java后台接收List < obj >
场景
当批量新增某个对象时后端就需要接收 List 方便批量存储
用法
Controller
@PostMapping("/saveUser")
@ApiOperation(value = "批量新建用户", notes = "批量新建用户")
@UserOperationLog(module = "批量新建用户", operationDesc = "批量新建用户")
public ApiResponse saveObdisJobPlanList(@RequestBody JSONObject jsonObject) {
try {
userService.saveUserList(jsonObject);
return ApiResponse.ofSuccess();
} catch (Exception e) {
log.error("批量新建用户失败", e);
return ApiResponse.ofError("批量新建用户失败");
}
}
Impl
@Override
@Transactional(rollbackFor = Exception.class)
public void saveUserList(JSONObject jsonObject) {
/**
*1— 如果用get方法去取值,不论这个key是否在JSONObject中存在,都不会有异常抛出。
*取出定义的JSONObject
*/
List<User> Users= (List<User>) jsonObject.get("obdisJobPlans");
List<User> UserList = new ArrayList<>();
// 循环对象中的map
for (Object json : obdisJobPlans) {
/**
* JSON.parseObject,把字符串转化为json对象;
* JSON.toJSONString则是将json对象转为字符串
*/
JSONObject data2 = JSON.parseObject(JSON.toJSONString(json));
// 转化成User 对象
User user= JSON.parseObject(String.valueOf(data2), User.class);
saveBatch(UserList );
}