1,本次我们通过自定义返回对象,然后再各个controller统一返回这个对象 新建如下泛型对象类publicclassRsObjectTimplementsSerializable{privatestaticfinallongserialVersionUID1L;业务返回状态码200代表成功privateIntegercode200;返回消息privateStringmessagesuccess;返回的数据对象privateTdata;publicRsObjectTok(Tdata){this。setData(data);returnthis;}publicbooleansuccess(){returncode200?true:false;}publicRsObjectTerror(){this。code500;this。message服务内部错误;returnthis;}publicRsObjectTerror(intcode){this。codecode;this。message;returnthis;}publicRsObjectTerror(intcode,Stringmessage){this。codecode;this。messagemessage;returnthis;}publicRsObjectTerror(Stringmessage){this。code500;this。messagemessage;returnthis;}publicintgetCode(){returncode;}publicvoidsetCode(intcode){this。codecode;}publicStringgetMessage(){returnmessage;}publicvoidsetMessage(Stringmessage){this。messagemessage;}publicTgetData(){returndata;}publicvoidsetData(Tdata){this。datadata;}} 然后在需要的地方调用返回值即可,如登录请求 2,我们下面来编写和使用统一异常处理 核心模块是RestControllerAdvice这个注解,我们定义一个全局的异常对象统一异常处理RestControllerAdvicepublicclassGlobalExceptionHandler{privatestaticfinalLoggerloggerLoggerFactory。getLogger(GlobalExceptionHandler。class);处理自定义异常ExceptionHandler(ServerException。class)publicRsObjecthandleRenException(ServerExceptionex){RsObjectresultnewRsObject();result。error(ex。getCode(),ex。getMessage());returnresult;}ExceptionHandler(DuplicateKeyException。class)publicRsObjecthandleDuplicateKeyException(DuplicateKeyExceptionex){RsObjectresultnewRsObject();result。error(ErrorCode。DBRECORDEXISTS);returnresult;}ExceptionHandler(Exception。class)publicRsObjecthandleException(Exceptionex){logger。error(ex。getMessage(),ex);returnnewRsObject()。error();}} 自定义异常类publicclassServerExceptionextendsRuntimeException{privatestaticfinallongserialVersionUID1L;privateintcode;privateStringmessage;publicServerException(intcode){this。codecode;this。messageMessageUtils。getMessage(code);}publicServerException(intcode,String。。。params){this。codecode;this。messageMessageUtils。getMessage(code,params);}publicServerException(intcode,Throwablee){super(e);this。codecode;this。messageMessageUtils。getMessage(code);}publicServerException(intcode,Throwablee,String。。。params){super(e);this。codecode;this。messageMessageUtils。getMessage(code,params);}publicServerException(Stringmessage){super(message);this。code500;this。messagemessage;}publicServerException(Stringmessage,Throwablee){super(message,e);this。code500;this。messagemessage;}publicStringgetMessage(){returnmessage;}publicvoidsetMessage(Stringmessage){this。messagemessage;}publicintgetCode(){returncode;}publicvoidsetCode(intcode){this。codecode;}} 运行程序,触发异常如下 网页请求显示 另外后台的前端框架参考vuepureadmin,使用其中的最简单版本 下一篇我要打通前后端,优先打通登录和用户信息