在实际开发中,我们必然会遇到统一异常处理的需求。比如说数据库报错了,空指针了,传参错误了等等一系列的异常问题,如果我们不做统一异常处理,当前的线程会不做任何的响应返回操作。有人说,那你前端不会做兜底咩,前端没返回结果你做个统一处理就好了啊。前端做兜底是不够的,因为这时候你根本不知道是服务器错误,还是前端请求后端网络链路通信异常。前端能做的兜底就是报网络通信异常。而正常来说,是服务器报错的话,该提示的信息是【服务器繁忙】、【系统异常】。
我们提供的服务有:网站设计制作、成都网站制作、微信公众号开发、网站优化、网站认证、黄石港ssl等。为上1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的黄石港网站制作公司开发统一异常返回结果需要用到@RestControllerAdvice
、@ExceptionHandler
2个注解,ResponseEntity是一个返回结果对象,看你自己项目怎么封装的就好,最基本的至少要有code和data两个属性。
@RestControllerAdivce
public class GlobalExceptionHandler {// 能处理所有的异常的方法,兜底逻辑,若抛出的异常无其它细分ExceptionHandler,将会执行该逻辑
@ExceptionHandler(Throwable.class)
public ResponseEntity>defaultExceptionHandler(Throwable e) {// 在这里需要返回一个响应的实体,报文会成为Json格式响应到前端
}
// 自定义异常
@ExceptionHandler(MyException.class)
public ResponseEntity>MyExceptionHandler(MyException e) {// 在这里需要返回一个响应的实体,报文会成为Json格式响应到前端
}
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧