当前位置: 首页 >服务端 > springboot统一异常处理

springboot统一异常处理

  在做web应用时,请求过程中发生错误是常见的事,而一般界面显示大片白底黑字让人无从下手,对于用户的体验

也不是很好,这时我们可以利用@ControllerAdvice、@ExceptionHandler、@ResponseBody实现全局异常处理,能够帮助

开发者或者客户端迅速定位错误。

  步骤:

1.首先我们创建一个JSON返回对象,用来封装{code:消息类型,url:请求地址,data:请求返回的数据,message:错误信息}

package com.wutongshu.springboot.domain;public class ErrorInfo<E> {public static final int OK=0;public static  final int ERROR=100;private int code;private String url;private E data;private String message;public int getCode() {retu code;}public void setCode(int code) {this.code = code;}public String getUrl() {retu url;}public void setUrl(String url) {this.url = url;}public E getData() {retu data;}public void setData(E data) {this.data = data;}public String getMessage() {retu message;}public void setMessage(String message) {this.message = message;}}

2.创建一个自定义异常

package com.wutongshu.springboot.exception;public class MyException extends Exception{public MyException(String message){super(message);}}

3.在controller中增加测试异常的映射,抛出MyException异常

springboot统一异常处理 _ JavaClub全栈架构师技术笔记

4.创建一个全局处理异常的类,

@ControllerAdvice 注解定义全局异常处理类

@ExceptionHandler  指定自定义错误处理方法拦截的异常类型

@ResponseBody 指返回JSON类型的数据

package com.wutongshu.springboot;import com.wutongshu.springboot.domain.ErrorInfo;import com.wutongshu.springboot.exception.MyException;import org.springframework.web.bind.annotation.ControllerAdvice;import org.springframework.web.bind.annotation.ExceptionHandler;import org.springframework.web.bind.annotation.ResponseBody;import javax.servlet.http.HttpServletRequest;/** * 处理异常类 */@ControllerAdvicepublic class GlobalMyExceptionHandler {@ExceptionHandler(value = MyException.class)@ResponseBodypublic ErrorInfo<String> handlerException(HttpServletRequest request,  MyException e){ErrorInfo<String> errorInfo=new ErrorInfo<>();errorInfo.setMessage(e.getMessage());errorInfo.setUrl(request.getRequestURI());errorInfo.setCode(ErrorInfo.ERROR);errorInfo.setData("错误数据");retu errorInfo;}}

测试:访问http://http://127.0.0.1:8087/test/testException,得到以下内容

springboot统一异常处理 _ JavaClub全栈架构师技术笔记

 

作者:梧桐树master
来源链接:https://www.cnblogs.com/wutongshu-master/p/10898091.html

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。





本文链接:https://www.javaclub.cn/server/112864.html

标签:异常处理
分享给朋友:

“springboot统一异常处理” 的相关文章