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 {