在写项目的时候我们会遇到增查删改的异常,就写一个异常处理类统一处理
在此先写一个状态码
/**
* 返回码实体类
*/
public class StatusCode {
public static final int OK=20000;//成功
public static final int ERROR =20001;//失败
public static final int LOGINERROR =20002;//用户名或密码错误
public static final int ACCESSERROR =20003;//权限不足
public static final int REMOTEERROR =20004;//远程调用失败
public static final int REPERROR =20005;//重复操作
}
在这儿我们自己写一个错误
@GetMapping("/searchPage/{page}/{size}")
public Result findPage(@RequestParam Map searchMap,@PathVariable("page")int page,@PathVariable("size")int size){
int i=1/0;
Page pageInfo = brandService.findPage(searchMap, page, size);
PageResult pageResult = new PageResult<>(pageInfo.getTotal(), pageInfo.getResult());
return new Result(true,StatusCode.OK,"查询成功",pageResult);
}
然后写完了查询
http://localhost:9011/brand/searchPage/1/5?letter=c
会出现如下的结果
为了提高用户体验我们写一个异常处理类
import com.changgou.common.pojo.Result;
import com.changgou.common.pojo.StatusCode;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;
/*
* 统一异常处理类
* */
@ControllerAdvice //声明该类是一个增强类
public class BaseExceptionHandler {
@ExceptionHandler(value = Exception.class)
@ResponseBody
public Result error(Exception e){
e.printStackTrace();
return new Result(false, StatusCode.ERROR,"当前系统繁忙,请您稍后重试");
}
}
Postman出现如下结果