SpringBoot 统一返回值与全局异常处理——项目标配
企业级项目中,统一返回值格式和全局异常处理是必须的标配。否则前端要处理十几种不同的返回格式,维护成本极高。
一、统一返回值
@Data@Accessors(chain=true)publicclassResultVO<T>{privateintcode;privateStringmessage;privateTdata;privatelongtimestamp;publicResultVO(){this.timestamp=System.currentTimeMillis();}publicstatic<T>ResultVO<T>success(Tdata){returnnewResultVO<T>().setCode(200).setMessage("操作成功").setData(data);}publicstatic<T>ResultVO<T>error(intcode,Stringmessage){returnnewResultVO<T>().setCode(code).setMessage(message);}}二、全局异常处理
@RestControllerAdvicepublicclassGlobalExceptionHandler{@ExceptionHandler(BusinessException.class)publicResultVO<?>handleBusiness(BusinessExceptione){returnResultVO.error(e.getCode(),e.getMessage());}@ExceptionHandler(MethodArgumentNotValidException.class)publicResultVO<?>handleValidation(MethodArgumentNotValidExceptione){Stringmsg=e.getBindingResult().getFieldErrors().stream().map(FieldError::getDefaultMessage).collect(Collectors.joining("; "));returnResultVO.error(400,msg);}@ExceptionHandler(Exception.class)publicResultVO<?>handleOther(Exceptione){returnResultVO.error(500,"服务器繁忙");}}💡 觉得有用的话,点赞 + 关注【张老师技术栈】吧!