전체 조회에 pagination을 하지 않으면 데이터 규모가 커질 때 부하가 옴
UserService.java
public List<UserDto> findAllUsers(int page, int size) {
PageRequest pr = PageRequest.of(page, size);
List<UserDto> userDtos = new ArrayList<>();
Page<User> users = userRepository.findAll(pr);
if (users.getNumberOfElements() == 0) {
return null;
}
for (User user : users) {
UserDto userDto = new UserDto();
userMapper.buildUserDtoFromUser(user, userDto);
userDtos.add(userDto);
}
return userDtos;
}
ActivityController.java
@PostMapping("/new")
public ResponseEntity<?> registerActivity(@RequestBody @Valid ActivityRequest activityRequest) {
String username = getLoginUsername();
activityService.saveActivity(activityRequest, username);
return ResponseEntity.ok(HttpStatus.CREATED);
}
@Enumerated
는 JPA 어노테이션이라 DTO에서는 생략한다