diff --git a/chaos_api_domain/src/main/java/cn/nopj/chaos_api/dto/request/AuthLoginRequest.java b/chaos_api_domain/src/main/java/cn/nopj/chaos_api/dto/request/AuthLoginRequest.java index f5bd646..f7f2326 100644 --- a/chaos_api_domain/src/main/java/cn/nopj/chaos_api/dto/request/AuthLoginRequest.java +++ b/chaos_api_domain/src/main/java/cn/nopj/chaos_api/dto/request/AuthLoginRequest.java @@ -8,7 +8,7 @@ import lombok.Data; */ @Data public class AuthLoginRequest { - @Pattern(regexp = "^[a-zA-Z0-9_-]{5,16}$", message = "用户名需为5-16位字母、数字、_或-") + @Pattern(regexp = "^[a-zA-Z0-9_-]{5,16}$", message = "用户名校验失败") private String username; @Pattern(regexp = "^.{8,16}$", message = "密码长度需为8-16位") private String password; diff --git a/chaos_api_web/src/main/java/cn/nopj/chaos_api/controller/AuthController.java b/chaos_api_web/src/main/java/cn/nopj/chaos_api/controller/AuthController.java index e14a7b9..2ad5ed4 100644 --- a/chaos_api_web/src/main/java/cn/nopj/chaos_api/controller/AuthController.java +++ b/chaos_api_web/src/main/java/cn/nopj/chaos_api/controller/AuthController.java @@ -6,8 +6,8 @@ import cn.nopj.chaos_api.dto.request.AuthRegisterRequest; import cn.nopj.chaos_api.dto.response.AuthTokenResponse; import cn.nopj.chaos_api.model.ApiResult; import cn.nopj.chaos_api.service.AuthService; -import jakarta.validation.Valid; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -34,7 +34,7 @@ public class AuthController { * @return 注册结果 */ @PostMapping("/register") - public ApiResult register(@Valid @RequestBody AuthRegisterRequest authRegisterRequest) { + public ApiResult register(@RequestBody @Validated AuthRegisterRequest authRegisterRequest) { return ApiResult.success(authService.register(userConverter.convert(authRegisterRequest))); } /** @@ -44,7 +44,7 @@ public class AuthController { * @return 登录结果 */ @PostMapping("/login") - public ApiResult login(@RequestBody AuthLoginRequest authLoginRequest) { + public ApiResult login(@RequestBody @Validated AuthLoginRequest authLoginRequest) { return ApiResult.success(authService.login(authLoginRequest.getUsername(), authLoginRequest.getPassword())); } } diff --git a/chaos_api_web/src/main/java/cn/nopj/chaos_api/controller/DeviceController.java b/chaos_api_web/src/main/java/cn/nopj/chaos_api/controller/DeviceController.java index 6fdc94d..1511427 100644 --- a/chaos_api_web/src/main/java/cn/nopj/chaos_api/controller/DeviceController.java +++ b/chaos_api_web/src/main/java/cn/nopj/chaos_api/controller/DeviceController.java @@ -6,6 +6,7 @@ import cn.nopj.chaos_api.dto.response.DeviceResponse; import cn.nopj.chaos_api.model.ApiResult; import cn.nopj.chaos_api.service.DeviceService; import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -28,7 +29,7 @@ public class DeviceController { * @return 新建设备信息结果 */ @PostMapping("/create") - public ApiResult createDevice(@RequestBody CreateDriveRequest createDriveRequest){ + public ApiResult createDevice(@RequestBody @Validated CreateDriveRequest createDriveRequest){ return ApiResult.success(deviceService.createDevice(createDriveRequest)); } diff --git a/chaos_api_web/src/main/java/cn/nopj/chaos_api/controller/RoleController.java b/chaos_api_web/src/main/java/cn/nopj/chaos_api/controller/RoleController.java index 8aa3d35..c4aed12 100644 --- a/chaos_api_web/src/main/java/cn/nopj/chaos_api/controller/RoleController.java +++ b/chaos_api_web/src/main/java/cn/nopj/chaos_api/controller/RoleController.java @@ -7,6 +7,7 @@ import cn.nopj.chaos_api.service.UserRoleService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -30,7 +31,7 @@ public class RoleController { */ @PreAuthorize("hasAuthority('admin')") @RequestMapping("/setUserRole") - public ApiResult assignRolesToUser(@RequestBody SetUserRoleRequest request) { + public ApiResult assignRolesToUser(@RequestBody @Validated SetUserRoleRequest request) { userRoleService.assignRolesToUser(request); return ApiResult.success("用户角色设置成功"); } @@ -41,7 +42,7 @@ public class RoleController { */ @PreAuthorize("hasAuthority('admin')") @RequestMapping("/cancelUserRole") - public ApiResult revokeRolesFromUser(@RequestBody SetUserRoleRequest request) { + public ApiResult revokeRolesFromUser(@RequestBody @Validated SetUserRoleRequest request) { return ApiResult.success("用户角色取消成功",userRoleService.revokeRolesFromUser(request)); } } diff --git a/chaos_api_web/src/main/java/cn/nopj/chaos_api/controller/UserController.java b/chaos_api_web/src/main/java/cn/nopj/chaos_api/controller/UserController.java index 56c76ca..92ff7aa 100644 --- a/chaos_api_web/src/main/java/cn/nopj/chaos_api/controller/UserController.java +++ b/chaos_api_web/src/main/java/cn/nopj/chaos_api/controller/UserController.java @@ -11,6 +11,7 @@ import cn.nopj.chaos_api.service.UserProfileServcie; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -44,7 +45,7 @@ public class UserController { */ @PreAuthorize("hasAuthority('admin')") @PutMapping("/setUserPassword") - ApiResult setUserPassword(@RequestBody SetUserPasswordRequest request){ + ApiResult setUserPassword(@RequestBody @Validated SetUserPasswordRequest request){ userProfileServcie.setUserPassword(request.getUserId(), request.getPassword()); return ApiResult.success("用户密码修改成功"); } @@ -55,7 +56,7 @@ public class UserController { * @deprecated 废弃 修改用户名之后token会失效 */ @PutMapping("/updateUsername") - ApiResult updateUsername(@RequestAttribute("currentUsername") String username,@RequestBody UpdateUsernameRequest request){ + ApiResult updateUsername(@RequestAttribute("currentUsername") String username,@RequestBody @Validated UpdateUsernameRequest request){ userProfileServcie.updateUsername(username, request.getUsername()); return ApiResult.success("用户名更新成功"); } @@ -77,7 +78,7 @@ public class UserController { * @return 用户信息 */ @PatchMapping("/profile") - ApiResult getUserInfo(@RequestAttribute("currentUsername") String username, @RequestBody UserProfileUpdateRequest request){ + ApiResult getUserInfo(@RequestAttribute("currentUsername") String username, @RequestBody @Validated UserProfileUpdateRequest request){ return ApiResult.success(userProfileServcie.updateUserProfile(username,request)); } @@ -87,7 +88,7 @@ public class UserController { */ @PreAuthorize("hasAuthority('admin')") @PutMapping("/{userId}/nickname") - ApiResult setNickname(@PathVariable Long userId, @RequestBody SetUserNicknameRequest request){ + ApiResult setNickname(@PathVariable Long userId, @RequestBody @Validated SetUserNicknameRequest request){ return ApiResult.success(userProfileServcie.setUserNickname(userId,request.getNickname())); } }