@GetMapping("/exam/{examCode}/{userId}") public ApiResult findNotHadJoinedExamByUserId(@PathVariable("examCode") Integer examCode, @PathVariable("userId")Integer userId) throws BusinessCodeException { Optional.ofNullable(userId).orElseThrow(() ->{ return new BusinessCodeException(BusinessCode.SELECT_ERROR_CODE.getMsg(),BusinessCode.SELECT_ERROR_CODE.getCode()); }); Optional.ofNullable(examCode).orElseThrow(() ->{ return new BusinessCodeException(BusinessCode.SELECT_ERROR_CODE.getMsg(),BusinessCode.SELECT_ERROR_CODE.getCode()); }); ExamManageEntity res = examManageService.findNotHadJoinedExamByUserId(examCode,userId); if(res == null) { return ApiResultHandler.errorResult(BusinessCode.USER_HIVED_JOIN_THE_EXAM.getCode(), BusinessCode.USER_HIVED_JOIN_THE_EXAM.getMsg()); } return ApiResultHandler.successResult(res); }
时间: 2024-02-26 07:51:49 浏览: 95
这段代码也是一个基于Spring框架的RESTful API接口的实现。使用@GetMapping注解来指定HTTP GET请求方法的路径,其中包含了两个动态的URL地址,分别为"{examCode}"和"{userId}",这两个参数会被传递给方法中的@PathVariable注解修饰的参数examCode和userId。方法的返回值类型为ApiResult类,通过调用examManageService中的findNotHadJoinedExamByUserId方法查找相应的考试信息,并将结果封装到ApiResult中返回给客户端。如果根据给定的考试编号和用户编号查找不到考试信息,则返回错误码和错误信息;否则返回考试信息。在方法中,还使用了Java 8的Optional类来处理参数的空值情况,并抛出了一个自定义的BusinessCodeException异常。
相关问题
@GetMapping("/exam/{examCode}") public ApiResult findById(@PathVariable("examCode") Integer examCode){ // System.out.println("根据ID查找"); ExamManageEntity res = examManageService.findById(examCode); if(res == null) { return ApiResultHandler.buildApiResult(10000,"考试编号不存在",null); } return ApiResultHandler.buildApiResult(200,"请求成功!",res); }
这段代码是一个基于Spring框架的RESTful API接口的实现,使用了@GetMapping注解来指定HTTP GET请求方法的路径。其中,"{examCode}"表示动态的URL地址,该地址中的参数会被传递给方法中的@PathVariable注解修饰的参数examCode。方法的返回值类型是ApiResult类,通过调用examManageService中的findById方法查找相应的考试信息,并将结果封装到ApiResult中返回给客户端。如果根据考试编号查找不到考试信息,则返回错误码10000和错误信息“考试编号不存在”,否则返回状态码200和考试信息。
@RestController @RequestMapping("/role") public class RoleController { @Resource private IRoleService roleService; // 新增或者更新 @PostMapping public Result save(@RequestBody Role role) { roleService.saveOrUpdate(role); return Result.success(); } @DeleteMapping("/{id}") public Result delete(@PathVariable Integer id) { roleService.removeById(id); return Result.success(); } @PostMapping("/del/batch") public Result deleteBatch(@RequestBody List<Integer> ids) { roleService.removeByIds(ids); return Result.success(); } @GetMapping public Result findAll() { return Result.success(roleService.list()); } @GetMapping("/{id}") public Result findOne(@PathVariable Integer id) { return Result.success(roleService.getById(id)); } @GetMapping("/page") public Result findPage(@RequestParam String name, @RequestParam Integer pageNum, @RequestParam Integer pageSize) { QueryWrapper<Role> queryWrapper = new QueryWrapper<>(); queryWrapper.like("name", name); queryWrapper.orderByDesc("id"); return Result.success(roleService.page(new Page<>(pageNum, pageSize), queryWrapper)); } /** * 绑定角色和菜单的关系 * @param roleId 角色id * @param menuIds 菜单id数组 * @return */ @PostMapping("/roleMenu/{roleId}") public Result roleMenu(@PathVariable Integer roleId, @RequestBody List<Integer> menuIds) { roleService.setRoleMenu(roleId, menuIds); return Result.success(); } @GetMapping("/roleMenu/{roleId}") public Result getRoleMenu(@PathVariable Integer roleId) { return Result.success( roleService.getRoleMenu(roleId)); } }
这是一个基于Spring Boot框架开发的角色管理控制器,提供了一些基本的角色管理操作,包括新增或更新角色、删除角色、批量删除角色、查询所有角色、分页查询角色和绑定角色和菜单的关系等操作。其中,IRoleService是角色管理服务接口,通过注入该接口的实现类,调用其中定义的方法来完成具体的业务逻辑处理。它采用的是RESTful风格的API设计,通过不同的HTTP方法(如POST、GET、DELETE等)和路径来区分不同的操作。
阅读全文