어제 데모데이 진행중 시연과정에서 오작동이 일어났다.
먼저 상황을 간단히 설명하자면 사용자 페이지에서 상품에대한 문의를 작성한 뒤, 어드민 페이지에서 그 문의에 대한 답변을 작성하려는데 작성된 문의가 보이지 않는 상황이다.
사용자페이지
어드민 페이지
이미 시연을 위해 여러번 같은 과정을 반복했는데 왜 하필이면 시연중에 문제가 발생했을까?
답은 시연준비를 위해 상품을 삭제했다가 다시 등록하는 과정에 있었다.
이전까지 나는 알게 모르게 매번 시연 과정을 거치고 원상복구하기 위해 문의를 삭제한뒤, 백도어를 이용해 시연 상품을 지웠다.
그런데 진짜 시연 전에는 문의를 삭제하지 않고 시연 상품을 지워서 문제가 발생한 것이다. 위의 코드를 보면 알 수 있듯이 문의 목록을 보여줄 때, 문의에 있는 상품 아이디로 상품을 찾고 없으면 예외처리를 해주기 때문에 해당 아이디에 해당하는 상품이 없으면 에러가 난다.
앞에서 말했듯 문제는 문의의 상품 아이디에 해당하는 상품이 없었기 때문에 발생했다. 따라서 없는 상품에 대한 문의를 지우면 해결처음 사진과 다르게 잘나오는걸 확인할 수 있다.
나중에라도 또 시연을 준비 해야할 일이 생기면 백도어를 이용해 변경할 때, 다른 엔티티와의 관계도 신경을 쓰도록 하자