1.数据库对用户表设计时用户账号创建唯一索引
2.前端在用户创建账户时,如果输入的账号是已经存在,服务端SQL会报错,前端是没有任何提示的。
3.编写异常提示,提高用户的体验(下面是是代码举例)
//指定拦截那些类型的控制器 @ControllerAdvice(annotations = {RestController.class, Controller.class}) //将方法的返回值 R 对象转换为json格式的数据, 响应给页面 @ResponseBody //@ControllerAdvice+@ResponseBody 也可以用@RestControllerAdvice代替 @Slf4j public class GlobalExceptionHandler { /** * 异常处理方法 * @return */ @ExceptionHandler(SQLIntegrityConstraintViolationException.class) public R<String> exceptionHandler(SQLIntegrityConstraintViolationException ex){ log.error(ex.getMessage()); if(ex.getMessage().contains("Duplicate entry")){ String[] split = ex.getMessage().split(" "); String msg = split[2] + "已存在"; return R.error(msg); } return R.error("未知错误"); } }