Joshua게시판(SSR)-20- 회원정보수정

jaegeunsong97·2023년 8월 16일
0

SSR 기반 JoshuaBlog

목록 보기
20/23

깃허브링크

노션링크

  • userController
@PostMapping("/s/user/{id}/update")
     public @ResponseBody String update(
               @PathVariable Long id,
               @Valid UserRequestDto.UpdateInDto updateInDTO,
               Errors errors,
               @AuthenticationPrincipal MyUserDetails myUserDetails) {
          if (id != myUserDetails.getUser().getId()) {
               throw new Exception403("권한이 없습니다");
          }

          User user = userService.회원수정(id, updateInDTO);

          // 세션 동기화
          myUserDetails.setUser(user);
          session.setAttribute("sessionUser", user);
          return Script.href("회원정보 수정 성공", "/");
     }
  • userService
 @Transactional
     public User 회원수정(Long id, UserRequestDto.UpdateInDto updateInDTO) {
          User userPS = userRepository.findById(id)
                    .orElseThrow(() -> new Exception400("id", "해당 유저가 존재하지 않습니다. "));
          updateInDTO.setPassword(passwordEncoder.encode(updateInDTO.getPassword()));
          userPS.update(updateInDTO.getPassword(), updateInDTO.getEmail());
          return userPS;
     }
  • user

  • updateForm

${user.id} = 로그인 한 상태의 id 값을 브라우저로부터 받는다.

  • 테스트

비밀번호 0807

회원수정 클릭하면 Script가 뜨고 메인 화면으로

h2 확인

profile
현재 블로그 : https://jasonsong97.tistory.com/

0개의 댓글