参数校验及异常处理
思路:接入层会校验参数时,如果错误,抛业务异常Biz Exception。通过@RestControllerAdvice
进行异常处理。比如login接口,
@GetMapping("login")
public DataResponse<LoginUserResp> login(String username, String password) {
if(StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) {
throw new BizException(ErrorCode.PARAM_ERROR.getErrorCode(), "username or password cannot be null");
}
return userService.login(username, password);
}
拦截并处理异常:
@RestControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(value = BizException.class)
public DataResponse<BizException> handldBizException(BizException ex) {
System.out.println("---------------- Handle biz exception --------------- ");
ex.printStackTrace();
return DataResponse