반응형
✔ Java 11
✔ Gradle 7
✔ Spring boot 2.6.3
회원 수정 기능 구현
1. UpdateUserRequestDto
수정할 데이터를 받아오기 위해 request dto를 추가했다.
@Getter
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class UpdateUserRequestDto {
@NotNull
String user_password;
@NotNull
String user_name;
}
put 메소드를 사용할 시 클라이언트가 해당 정보를 모두 안다는 가정이 필요하다.
그래서 바꾸고 싶은 데이터만 받아와 변경할 수 없고 필요한 데이터를 모두 받아야 한다.
2. Controller - put
@PutMapping("/{id}")
public void updateUser(@PathVariable @Valid long id, @RequestBody UpdateUserRequestDto updateUserRequestDto){
userMinjService.updateUser(id, updateUserRequestDto);
}
3. Service - updateUser
@Transactional
public void updateUser(long id, UpdateUserRequestDto updateUserRequestDto){
UserMinj userMinj = userRepository.findById(id).orElseThrow();
userMinj.updateUser(updateUserRequestDto.getUser_password(), updateUserRequestDto.getUser_name());
}
먼저 id가 유효한지 확인을 한다. 존재하지 않는 id라면 예외 처리를 한다. 아직 구현하지는 않았다.
User entity에 업데이트 메소드를 구현하여 매개변수로 password와 name을 받는 형식으로 구현했다.
User entity
public void updateUser(String user_password, String user_name){
this.user_password = user_password;
this.user_name = user_name;
}
반응형
'Study > Spring' 카테고리의 다른 글
Controller 예외 처리 | Spring Spring boot JPA Study (1) | 2022.02.11 |
---|---|
[Spring | Gradle 7] QueryDSL 적용 (0) | 2022.02.10 |
회원 조회 기능 | Spring Spring boot JPA Study (0) | 2022.02.08 |
회원 삭제 기능 | Spring Spring boot JPA Study (0) | 2022.02.08 |
회원 추가 기능 구현 | Spring Spring boot JPA Study (0) | 2022.02.07 |
댓글