后端的最外层接口:使用的是POST请求方式javascript
@ApiOperation("添加学生管理_学生信息_学生课程等级") @RequestMapping(value = "/create/{studentCourseGradeMergeId}", method = RequestMethod.POST) Result<?> create(@ApiParam(value = "学生等级类别合并ID") java.lang.String studentCourseGradeMergeId, @ApiParam(value = "学生ID") java.lang.String[] studentIds);
controller层使用的是:前端
@Override public Result<?> create(@PathVariable("studentCourseGradeMergeId") String studentCourseGradeMergeId, @RequestBody java.lang.String[] studentIds) { SystemUserInfo systemUserInfo = SessionUtil.getSystemUserInfo(request); // 获取用户信息 String userId = ""; if (systemUserInfo != null) { userId = systemUserInfo.getUserId(); // 用户Id } studentGradeService.batchCreate(userId, studentCourseGradeMergeId, studentIds); return Result.buildSuccessResult(); }
前端传递的是:其中formData.courseGradeCategoryCode是url路径中的一部分,studentIds是传递的数组也就是对象java
// 批量添加学生等级 batchOnSubmit = () => { this.refs.addModal.validateFields((err, formData) => { if (!err) { let studentIds = this.child.state.selectedRowKeys; // 获取到选中记录的学生ID studentGradeCreate(formData.courseGradeCategoryCode,studentIds, () => { this.onSearch(); this.showAddModal(); this.setState({ selectedRowKeys: [] }) }); } }); };
前端抽取出来的service层是:后端
// 添加学生管理_学生信息_学生课程等级管理 export function studentGradeCreate(param,data, callback) { post(studentGradeApi.create + '/'+ param, data).then(response => { if (response.code == '200') { message.info('添加成功'); callback(); } else { if (response.message) { message.error(response.message); } else { message.error('添加失败'); } } }); }