From 5614f339073723324164667901c950fe91fb13f5 Mon Sep 17 00:00:00 2001 From: HZXhuang <1966752024@qq.com> Date: Wed, 1 Nov 2023 11:04:07 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=B3=A8=E5=86=8C=E5=92=8C?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E5=8A=9F=E8=83=BD=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/common/ResponseStatusEnum.java | 4 ++ .../example/controller/UserController.java | 4 +- .../exception/GlobalExceptionHandler.java | 6 +++ .../example/service/impl/UserServiceImpl.java | 39 ++++++++++++++++--- 4 files changed, 46 insertions(+), 7 deletions(-) diff --git a/code/backend/src/main/java/org/example/common/ResponseStatusEnum.java b/code/backend/src/main/java/org/example/common/ResponseStatusEnum.java index cd398bb..85b5585 100644 --- a/code/backend/src/main/java/org/example/common/ResponseStatusEnum.java +++ b/code/backend/src/main/java/org/example/common/ResponseStatusEnum.java @@ -28,6 +28,10 @@ public enum ResponseStatusEnum implements CommonResp{ REQUEST_BODY_MISSING("1017", "请求数据体缺失"), LOGIN_NOT_ADMIN("1018", "管理员登录失败,不是管理员"), + USERNAME_EMPTY("1019", "用户名为空"), + PASSWORD_EMPTY("1020", "密码为空"), + NAME_EMPTY("1021", "用户昵称为空"), + /** 20XX 表示服务器错误 */ PICTURE_UPLOAD_FAILED("2001","上传图片失败"), diff --git a/code/backend/src/main/java/org/example/controller/UserController.java b/code/backend/src/main/java/org/example/controller/UserController.java index a479b91..24ea1cd 100644 --- a/code/backend/src/main/java/org/example/controller/UserController.java +++ b/code/backend/src/main/java/org/example/controller/UserController.java @@ -16,8 +16,8 @@ public class UserController { UserService userService; @Operation(summary = "注册", description = "用户注册接口") - @PostMapping("/regist") - public Result regist(@RequestBody User user){ + @PostMapping("/register") + public Result register(@RequestBody User user){ System.out.println(user); return userService.register(user); } diff --git a/code/backend/src/main/java/org/example/exception/GlobalExceptionHandler.java b/code/backend/src/main/java/org/example/exception/GlobalExceptionHandler.java index efc4ea1..1ec3247 100644 --- a/code/backend/src/main/java/org/example/exception/GlobalExceptionHandler.java +++ b/code/backend/src/main/java/org/example/exception/GlobalExceptionHandler.java @@ -6,6 +6,7 @@ import cn.hutool.log.level.Level; import org.example.common.ResponseStatusEnum; import org.example.utils.Result; import org.springframework.http.converter.HttpMessageNotReadableException; +import org.springframework.web.HttpRequestMethodNotSupportedException; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; @@ -47,4 +48,9 @@ public class GlobalExceptionHandler { return Result.error(ResponseStatusEnum.REQUEST_BODY_MISSING); } + @ExceptionHandler(value = HttpRequestMethodNotSupportedException.class) + public Result handler(HttpRequestMethodNotSupportedException exception) { + log.log(Level.ERROR, exception.getMessage()); + return Result.error(String.valueOf(exception.getStatusCode().value()), exception.getMessage()); + } } diff --git a/code/backend/src/main/java/org/example/service/impl/UserServiceImpl.java b/code/backend/src/main/java/org/example/service/impl/UserServiceImpl.java index fc478f6..478d4ba 100644 --- a/code/backend/src/main/java/org/example/service/impl/UserServiceImpl.java +++ b/code/backend/src/main/java/org/example/service/impl/UserServiceImpl.java @@ -1,6 +1,9 @@ package org.example.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import io.micrometer.common.util.StringUtils; +import org.example.common.ResponseStatusEnum; +import org.example.exception.CustomException; import org.example.mapper.UserMapper; import org.example.pojo.User; import org.example.service.UserService; @@ -16,23 +19,25 @@ public class UserServiceImpl implements UserService { public Result register(User user){ QueryWrapper queryWrapper = new QueryWrapper<>(); + validate(user.getUsername(), user.getPassword(), user.getName()); queryWrapper.eq("username",user.getUsername()); boolean isExist = userMapper.exists(queryWrapper); if(isExist){ - return Result.error("-1","用户名已被使用"); + return Result.error(ResponseStatusEnum.USER_ACCOUNT_EXISTED); } user.setPassword(MD5Util.encrypt(user.getPassword())); - Integer rows = userMapper.insert(user); - if(rows>0){ + int rows = userMapper.insert(user); + if(rows > 0){ return Result.success(); } - return Result.error("-1","failure"); + return Result.error(ResponseStatusEnum.ERROR); } @Override public Result login(User user) { String username = user.getUsername(); String password = user.getPassword(); + validate(username, password); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("username",username).eq("password",MD5Util.encrypt(password)); User res = userMapper.selectOne(queryWrapper); @@ -40,6 +45,30 @@ public class UserServiceImpl implements UserService { res.setPassword(null); return Result.success(res); } - return Result.error("-1","账号或者密码错误"); + return Result.error(ResponseStatusEnum.USERNAME_PASSWORD_ERROR); + } + + public void validate(String username, String password) { + if (StringUtils.isEmpty(username)) { + // 用户名为空 + throw new CustomException(ResponseStatusEnum.USERNAME_EMPTY); + } + if (StringUtils.isEmpty(password)) { + // 密码为空 + throw new CustomException(ResponseStatusEnum.PASSWORD_EMPTY); + } + } + + /** + * 非空校验校验用户名、密码、昵称 + * @param username 用户名 + * @param password 密码 + * @param name 用户昵称 + */ + public void validate(String username, String password, String name) { + validate(username, password); + if (StringUtils.isEmpty(name)) { + throw new CustomException(ResponseStatusEnum.NAME_EMPTY); + } } }