@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-04-04 11:33:26 浏览: 68
springmvc注解详解
5星 · 资源好评率100%
这是一个 Spring Boot 的控制器(Controller)中的一个方法,使用了 GetMapping 注解,映射了一个 GET 请求的 URI 路径 "/exam/{examCode}/{userId}",其中 examCode 和 userId 是路径参数。该方法返回一个 ApiResult 对象。
该方法的主要作用是根据用户 ID 和考试编码查询用户尚未参加的考试信息。在方法中首先使用了 Optional 类的 ofNullable() 方法判断 userId 和 examCode 是否为 null,如果为 null,则抛出一个自定义的 BusinessCodeException 异常,异常信息为 "SELECT_ERROR_CODE"。
然后调用了 examManageService 的 findNotHadJoinedExamByUserId 方法,该方法会根据用户 ID 和考试编码查询用户尚未参加的考试信息,并返回 ExamManageEntity 对象。
最后,根据查询结果判断是否有查询到考试信息,如果为 null,则返回一个错误的 ApiResult 对象,否则返回一个成功的 ApiResult 对象,携带查询到的考试信息。
阅读全文