发送请求后,后端报错
这个错误是 Duplicate entry(重复值)
意思是在底层你的数据库添加了一个字段不可重复的设置,当你第一次去测试该请求时,由于并没有对该异常进行处理,所以会爆出此错误。
修正:查看数据库,看看是不是某个字段值重复了,修改一下字段,重新请求即可;
后续要对次异常进行异常的处理机制,在请求页面告知用户,字段重复
查看数据库
查看请求参数
两者一样,因为底层数据库的username字段设置了unique,所以需要更改请求参数的username
更改后不报错
在全局异常处理器中添加处理方法
/**
* 捕获SQL异常
* @param ex
* @return
*/
@ExceptionHandler
public Result exceptionHandler(SQLIntegrityConstraintViolationException ex){
log.error("异常信息:{}", ex.getMessage());
String message = ex.getMessage();
if(message.contains("Duplicate entry")){
//字段值重复异常
String[] split = message.split(" ");
String msg=split[2] + MessageConstant.ALREADT_EXIST;
return Result.error(msg);
}
return Result.error(MessageConstant.UNKNOWN_ERROR);
}
添加后重新跑代码,发请求
在前端就会给出报错信息了
因篇幅问题不能全部显示,请点此查看更多更全内容