엘리스트랙

2차 프로젝트 개인정보 페이지 구현!

Zmann 2024. 3. 16. 12:08
728x90

 

 

 

 

 

 

로그인을 한 후 개인정보 페이지에서 자신의 정보를 볼 수 있고

닉네임을 변경하고 싶거나 주소나 전화번호를 변경하고 싶을 시 변경할 수 있다.

 

 

 

async function insertUserData() {
  const id = sessionStorage.getItem('id');
  const url = `http://localhost:8080/users/${id}`;
  userData = await Api.get(url);

  // 객체 destructuring
  const { nickname, email, postcode, address1, address2, phoneNumber } = userData;

  // 서버에서 온 비밀번호는 해쉬 문자열인데, 이를 빈 문자열로 바꿈
  // 나중에 사용자가 비밀번호 변경을 위해 입력했는지 확인하기 위함임.
  userData.password = "";

  securityTitle.innerText = `회원정보 관리 (${email})`;
  nicknameInput.value = nickname;

  if (address1) {
    postcodeInput.value = postcode;
    address1Input.value = address1;
    address2Input.value = address2;
  }

  if (phoneNumber) {
    phoneNumberInput.value = phoneNumber;
  }

  // 크롬 자동완성 삭제함.
  passwordInput.value = "";

  // 기본적으로 disabled 상태로 만듦
  disableForm();
}

 

 

@GetMapping("/{id}")
    public Optional<User> getUser(@PathVariable(name = "id") Long id) {
        return userService.getUserById(id);
    }

 

js에서 로그인 한 사람의 id를 보내 api 요청을 하면 컨트롤러에서 받아와 정보를 보내준다.

 

 

 

주소와 전화번호는 적지 않아서 뜨지 않는 상태이다.

 

 

 

 

수정을 하고 저장하기를 누르면

 

 

 

비밀번호를 입력하라고 한 뒤

 

 

 

 

 

 

수정이 완료된다.

 

 

 

 

728x90