diff --git a/src/main/java/com/zsz/controller/GradeController.java b/src/main/java/com/zsz/controller/GradeController.java index c1f0bd6..d1d7f3e 100644 --- a/src/main/java/com/zsz/controller/GradeController.java +++ b/src/main/java/com/zsz/controller/GradeController.java @@ -7,70 +7,94 @@ import com.zsz.util.Result; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import io.swagger.models.auth.In; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.*; import java.util.List; -@Api("年级控制器") -@RestController -@RequestMapping("/sms/gradeController") +/** + * 年级管理控制器 + * 功能:提供年级信息的增删改查RESTful接口 + * 路径:所有接口以/sms/gradeController为前缀 + */ +@Api(tags = "年级管理", value = "提供年级信息的CRUD操作接口") // Swagger接口文档分组说明 +@RestController // 标识为Spring MVC控制器,返回值自动转为JSON +@RequestMapping("/sms/gradeController") // 控制器基础路径 public class GradeController { - @Autowired - GradeService gradeService; + @Autowired // 自动注入年级服务层实现 + private GradeService gradeService; + /** + * 获取全部年级列表(不分页) + * 接口路径:GET /sms/gradeController/getGrades + * @return 包含所有年级信息的统一响应体 + */ + @ApiOperation(value = "获取全部年级列表", notes = "返回所有年级的完整列表") @GetMapping("/getGrades") - public Result getGrades(){ + public Result getGrades() { List grades = gradeService.getGrades(); - return Result.ok(grades); + return Result.ok(grades); // 使用统一响应封装 } - - //请求路径 /sms/gradeController/getGrades/1/3?gradeName= - /** - * 年级管理页面分页展示数据,查询以及重置方法 - * @param pageNo - * @param pageSize - * @param gradeName - * @return + * 分页条件查询年级信息 + * 接口路径:GET /sms/gradeController/getGrades/1/3?gradeName=高一 + * @param pageNo 当前页码(路径参数) + * @param pageSize 每页记录数(路径参数) + * @param gradeName 年级名称模糊查询条件(可选参数) + * @return 分页结果统一响应体 */ - @ApiOperation("根据年级名称模糊查询,带分页") + @ApiOperation(value = "分页条件查询年级", notes = "支持按年级名称模糊查询") @GetMapping("/getGrades/{pageNo}/{pageSize}") - public Result getGrades(@ApiParam("分页查询的页码数") @PathVariable("pageNo") Integer pageNo, - @ApiParam("分页查询的页大小") @PathVariable("pageSize") Integer pageSize, - @ApiParam("分页查询模糊匹配的名称") String gradeName){ - - //设置分页信息 - Page gradePage = new Page<>(pageNo, pageSize); - //执行服务层方法,查询出数据 - Page page = gradeService.getGradesData(gradePage,gradeName); - - return Result.ok(page); + public Result getGrades( + @ApiParam(value = "页码", example = "1", required = true) + @PathVariable("pageNo") Integer pageNo, + + @ApiParam(value = "每页数量", example = "10", required = true) + @PathVariable("pageSize") Integer pageSize, + + @ApiParam(value = "年级名称", example = "高一") + @RequestParam(required = false) String gradeName) { + + // 初始化分页参数 + Page page = new Page<>(pageNo, pageSize); + // 调用服务层获取分页数据 + Page resultPage = gradeService.getGradesData(page, gradeName); + return Result.ok(resultPage); } - /** - * 年级修改和添加方法 - * @param grade - * @return + * 新增或修改年级信息 + * 接口路径:POST /sms/gradeController/saveOrUpdateGrade + * @param grade 年级实体(JSON格式请求体) + * @return 操作结果统一响应 */ - @ApiOperation("新增或修改grade,有id属性是修改,没有则是增加") + @ApiOperation(value = "保存年级信息", notes = "有ID则修改,无ID则新增") @PostMapping("/saveOrUpdateGrade") - public Result saveOrUpdateGrade(@ApiParam("Json格式的Grade对象") @RequestBody Grade grade){ + public Result saveOrUpdateGrade( + @ApiParam(value = "年级JSON数据", required = true) + @RequestBody Grade grade) { + + // 保存或更新数据(根据ID自动判断) gradeService.saveOrUpdate(grade); - return Result.ok(); } - @ApiOperation("删除Grade信息") + /** + * 批量删除年级信息 + * 接口路径:DELETE /sms/gradeController/deleteGrade + * @param ids 要删除的ID集合(JSON数组格式) + * @return 操作结果统一响应 + */ + @ApiOperation(value = "批量删除年级", notes = "支持同时删除多个年级") @DeleteMapping("/deleteGrade") - public Result deleteGrade(@ApiParam("要删除的所有的grade的id的Json集合") @RequestBody List id){ - - gradeService.removeByIds(id); + public Result deleteGrade( + @ApiParam(value = "年级ID数组", example = "[1,2,3]", required = true) + @RequestBody List ids) { + + // 批量删除操作 + gradeService.removeByIds(ids); return Result.ok(); } -} +} \ No newline at end of file