deedee0905 / CreateType

0 stars 0 forks source link

기존 완성 기능 디테일 보완 #34

Open deedee0905 opened 2 years ago

deedee0905 commented 2 years ago

기존 완성 기능 디테일 보완

deedee0905 commented 2 years ago

기존에 세션에서 userId parameter를 요청하는 부분에서 에러가 있었다. 로그인하지 않은 상태라면 세션에 저장된 userId 값이 없어서 계속 에러가 나고 있었는데, 이 부분을 어떻게 해결해야할까 고민을 해보았다.

먼저 로그인하지 않은 상태라면 세션에 저장된 userId값이 null인지 확인해보기 위해서 jsp 파일에서 간단하게 c:if 조건문을 사용하여 테스트를 해보았다. 로그인 하지 않은 상태에서 userId값이 null인 것은 맞는데 controller에서는 자꾸 타입이 오류가 나고 있었다. 기존에 세션에 저장된 userId의 값을 가져올때에는 해당 객체를 다운 캐스팅해서 가져오다보니 타입이 맞지않는다고 오류가 발생하던것이었는데 그럼 아예 object 객체 자체로 가져오면 괜찮을까? 싶어서 코드를 수정해보았고 로그인 하지 않았을 때 / 로그인 했을 때 상황을 나눠서 model 객체 따로 저장하였다.

우선 시도만.. 해봤던 부분이어서 당연히 오류가 생기겠지 싶었는데 어?? 원했던대로 로그인을 하지 않았음에도 조회수가 정상적으로 insert 되고 덧글들도 확인 할 수 있었다.

뜻하지 않게 기능이 한 번에 성공해서 기쁘기는 하지만.. 혹시나 실수가 없는지는 다시 살펴봐야겠다. 그리고 click 이벤트들이 동작하지 않아서 좋아요 / 덧글입력 btn을 눌렀을 때에 로그인을 해야 이용가능하다는 알람 메세지 이벤트를 설정해야겠다.

deedee0905 commented 2 years ago

너무 한 번에 원하는대로 기능들이 수행되어서 제대로 코드의 뼈대를 잘 잡은것인지 감독해주시는 선생님께 코드리뷰를 요청드렸다.

코드상으로 개념정리는 잘 하였지만 중복된 코드가 많이 보이신다고 말씀주셔서 피드백을 주신대로 공통 부분은 if문 바깥쪽으로 빼내었고 개별적으로 사용되야하는 코드들만 남겨두게끔 정리를 하였다.

로그인하지 않은 사용자가 덧글 입력이나 좋아요 체크, 채널 구독 버튼을 눌렀을때 해당 기능은 로그인 이용자만 사용할 수 있게끔 안내 메세지를 띄우려고 하였는데 기존에 있는 ajax를 통해서 당연히 에러 메세지가 나기는 하지만 일부러 에러를 발생시켜서 로그인을 해야한다고 알려주는 부분이 영 찝찝하여서 jsp에 코드를 수정하였다.

deedee0905 commented 2 years ago

channelId가 아직 없는 계정도 individual/profile/view 페이지로 이동할때 parameter값을 받아오는 부분에서 null point가 생겨서 에러가 났었다.

아까와 마찬가지로 channelId의 유무에 따라서 페이지 view가 달라지도록 코드를 수정하였다.

deedee0905 commented 2 years ago

채널을 생성하고 페이지 자체는 location.reload()가 되는데 로그인 했을 당시에 channelId 값을 저장해주는게 아니라 로그인을 다시 하지 않으면 생성한 채널이 바로 보이지가 않아서 이 부분을 수정하려 했으나 처음 작성한 코드로는 작동되지 않아서 어떻게 마무리해야할지 고민중에 있다!