일정관리 앱 ver2 - 트러블 슈팅

J_log·약 12시간 전
0

1. 일정 수정하기

일정을 수정하는 API를 만들고 Postman에서 테스트 했을 때 수정이 잘 되었다고 응답을 받았지만 다시 조회 API를 호출하니 수정이 제대로 반영되어 있지 않는 문제가 발생했다.

  • 일정 생성
  • 일정 수정
  • 일정 조회

원인 추론

DB에 반영이 안되었으니 레포지토리 쪽 코드에 문제가 있을거라 짐작을 할 수 있었다.

  • 레포지토리

  • 서비스

    서비스 클래스 update 메서드에서 일정을 찾고 수정을 했지만 다시 DB에 저장하는 코드가 빠져 있다.

해결 방안

수정된 일정을 다시 DB에 저장하는 코드를 작성해줬다.

결과 확인

정상적으로 작동한다 !

JDBC Template을 사용할 때는 쿼리를 직접 작성했었지만 JPA를 사용하면 직접 쿼리를 작성하지 않아서 편리하지만 오히려 더욱 꼼꼼하게 체크하지 않으면 안될 것 같다.


2. 패스워드 암호화 이슈

회원가입을 진행할 때 패스워드를 입력받는다. 패스워드를 DB에 저장하기전에 암호화를 거치고 암호화된 패스워드를 DB에 저장하려는 과정에서 정상적으로 저장이 되지않는 이슈가 발생했다.

  • 암호화를 담당하는 클래스
  • 회원가입

원인 추론

  • Postman 응답

Data truncation: Data too long for column 'password' at row 1

콘솔을 확인해보니 데이터가 너무 길다는 에러가 출력되있다.

해결 방안

패스워드 컬럼의 길이가 20으로 제한되어 있는 모습을 볼 수 있다.

값을 삭제하고 디폴트 값으로 설정했다.

결과 확인

  • Postman

    정상적으로 회원가입 API가 호출된다.

  • DB

    비밀번호가 암호화된 모습으로 DB에 저장된 모습이다.

post-custom-banner

0개의 댓글