後端的最外層接口:使用的是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('添加失敗'); } } }); }