diff --git a/pom.xml b/pom.xml index f4a6c7d..0b53d37 100644 --- a/pom.xml +++ b/pom.xml @@ -51,6 +51,11 @@ 24.1.0 compile + + jakarta.validation + jakarta.validation-api + 3.0.2 + diff --git a/src/main/java/cn/dcsy/stsy/aspect/LoggingAspect.java b/src/main/java/cn/dcsy/stsy/aspect/LoggingAspect.java index cb0b856..e3fd8f7 100644 --- a/src/main/java/cn/dcsy/stsy/aspect/LoggingAspect.java +++ b/src/main/java/cn/dcsy/stsy/aspect/LoggingAspect.java @@ -25,6 +25,6 @@ public class LoggingAspect { Object targetObject = joinPoint.getTarget(); Class targetClass = targetObject.getClass(); - log.info("[CONTROL] 获取 {} 类的 {} 方法", targetClass.getName(), methodName); + log.info("[CONTROLLER] 获取 {} 类的 {} 方法", targetClass.getName(), methodName); } } diff --git a/src/main/java/cn/dcsy/stsy/controllers/BasicController.java b/src/main/java/cn/dcsy/stsy/controllers/BasicController.java index 34ca68e..e328f5b 100644 --- a/src/main/java/cn/dcsy/stsy/controllers/BasicController.java +++ b/src/main/java/cn/dcsy/stsy/controllers/BasicController.java @@ -1,11 +1,17 @@ package cn.dcsy.stsy.controllers; +import cn.dcsy.stsy.models.voData.BasicLoginVO; import cn.dcsy.stsy.service.UserService; import cn.dcsy.stsy.utils.BaseResponse; +import cn.dcsy.stsy.utils.ErrorCode; import cn.dcsy.stsy.utils.ResultUtil; +import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.jetbrains.annotations.NotNull; import org.springframework.http.ResponseEntity; +import org.springframework.validation.BindingResult; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; /** @@ -31,13 +37,20 @@ public class BasicController { return ResultUtil.success("访问成功"); } - /* + /** * 用户登录 * */ @PostMapping("/login") - public ResponseEntity login(@RequestParam String username, @RequestParam String password) { - log.info("尝试登录 用户名: {}", username); - return userService.login(username, password); + public ResponseEntity login( + @RequestBody @Validated BasicLoginVO basicLoginVO, + @NotNull BindingResult bindingResult, + HttpServletRequest request + ) { + log.info("\t尝试登录 用户名: {}", basicLoginVO.getUsername()); + if (bindingResult.hasErrors()) { + return ResultUtil.error("RequestBodyError", ErrorCode.REQUEST_BODY_ERROR, bindingResult.getAllErrors()); + } + return userService.login(request, basicLoginVO); } @GetMapping("/user/{userId}") diff --git a/src/main/java/cn/dcsy/stsy/models/voData/BasicLoginVO.java b/src/main/java/cn/dcsy/stsy/models/voData/BasicLoginVO.java new file mode 100644 index 0000000..6fca81b --- /dev/null +++ b/src/main/java/cn/dcsy/stsy/models/voData/BasicLoginVO.java @@ -0,0 +1,18 @@ +package cn.dcsy.stsy.models.voData; + +import jakarta.validation.constraints.NotBlank; +import lombok.Getter; +import lombok.Setter; + +/** + * @author DC_DC + * Date: 2024/4/23/19:50 + */ +@Getter +@Setter +public class BasicLoginVO { + @NotBlank(message = "用户名不能为空") + private String username; + @NotBlank(message = "用户名不能为空") + private String password; +} diff --git a/src/main/java/cn/dcsy/stsy/service/UserService.java b/src/main/java/cn/dcsy/stsy/service/UserService.java index c887c70..1977cdb 100644 --- a/src/main/java/cn/dcsy/stsy/service/UserService.java +++ b/src/main/java/cn/dcsy/stsy/service/UserService.java @@ -1,6 +1,8 @@ package cn.dcsy.stsy.service; +import cn.dcsy.stsy.models.voData.BasicLoginVO; import cn.dcsy.stsy.utils.BaseResponse; +import jakarta.servlet.http.HttpServletRequest; import org.springframework.http.ResponseEntity; /** @@ -8,7 +10,7 @@ import org.springframework.http.ResponseEntity; * Date: 2024/4/16/21:51 */ public interface UserService { - ResponseEntity login(String username, String password); + ResponseEntity login(HttpServletRequest request, BasicLoginVO basicLoginVO); ResponseEntity getUserInfo(String userId); } diff --git a/src/main/java/cn/dcsy/stsy/service/impl/UserServiceImpl.java b/src/main/java/cn/dcsy/stsy/service/impl/UserServiceImpl.java index c79d8ec..ecda178 100644 --- a/src/main/java/cn/dcsy/stsy/service/impl/UserServiceImpl.java +++ b/src/main/java/cn/dcsy/stsy/service/impl/UserServiceImpl.java @@ -2,8 +2,10 @@ package cn.dcsy.stsy.service.impl; import cn.dcsy.stsy.dao.UserDAO; import cn.dcsy.stsy.models.doData.UserDemoDO; +import cn.dcsy.stsy.models.voData.BasicLoginVO; import cn.dcsy.stsy.service.UserService; import cn.dcsy.stsy.utils.BaseResponse; +import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.ResponseEntity; @@ -20,11 +22,11 @@ public class UserServiceImpl implements UserService { private final UserDAO userDAO; @Override - public ResponseEntity login(String username, String password) { - UserDemoDO userDemoDO = userDAO.getPasswordByUserName(username); + public ResponseEntity login(HttpServletRequest request, BasicLoginVO basicLoginVO) { + UserDemoDO userDemoDO = userDAO.getPasswordByUserName(basicLoginVO.getUsername()); if (userDemoDO != null){ log.info(userDemoDO.toString()); - if (userDemoDO.getPassword().equals(password)){ + if (userDemoDO.getPassword().equals(basicLoginVO.getPassword())){ BaseResponse response = new BaseResponse("登录成功", 200, "Success", userDemoDO); return ResponseEntity.ok(response); } else {