diff --git a/src/main/java/com/issueDive/controller/AuthController.java b/src/main/java/com/issueDive/controller/AuthController.java index 1d5e3db..6e2328c 100644 --- a/src/main/java/com/issueDive/controller/AuthController.java +++ b/src/main/java/com/issueDive/controller/AuthController.java @@ -11,6 +11,8 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.List; + @RestController @RequestMapping("/auth") @@ -65,4 +67,14 @@ public ResponseEntity> deleteUser(@PathVariable Long id){ ApiResponse response = ApiResponse.ok(null); return new ResponseEntity<>(response, HttpStatus.OK); } + + /** + * Read: 전체 사용자 목록 조회 + * @return 공통 응답 포맷 + 사용자 DTO 리스트 + */ + @GetMapping("/users") + public ResponseEntity>> getAllUsers() { + List users = userService.getAllUsers(); + return ResponseEntity.ok(ApiResponse.ok(users)); + } } diff --git a/src/main/java/com/issueDive/service/UserService.java b/src/main/java/com/issueDive/service/UserService.java index 56f3947..c99f3b9 100644 --- a/src/main/java/com/issueDive/service/UserService.java +++ b/src/main/java/com/issueDive/service/UserService.java @@ -14,6 +14,8 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.List; + @Service @RequiredArgsConstructor @Transactional(readOnly = true) @@ -76,4 +78,11 @@ public void deleteUser(Long id){ } userRepository.deleteById(id); } + + // 전체 사용자 목록 조회 + public List getAllUsers() { + return userRepository.findAll().stream() + .map(u -> new UserResponseDTO(u.getId(), u.getUsername(), u.getEmail())) + .toList(); + } }