반응형
게시글 좋아요 완성하기
데이터의 흐름을 기억하면서 코드를 작성하는 것이 좋습니다. dispatch한 postCard.js → 리듀서 → 사가 →백엔드 라우터순으로 작성하면 됩니다.
axios.patch(`/post/${data}/like`, data);로 data를 2번쓰게 되면 불필요한 용량만 차지하기 때문에 axios.patch(`/post/${data}/like`)로 줄여주는 것이 좋습니다.
없는 게시글에 좋아요를 누를 수는 없으니 백엔드에서는 게시글의 존재유무를 한번 더 검사하여 안전하게 서비스를 이용할 수 있도록 해주는 것이 좋습니다. 또한, 시퀄라이즈는 MySQL을 사용하므로 관계 메서드가 생성됩니다. 예를 들면,
- post.addLikers : 추가
- post.removeLikers : 삭제
- post.getLikers : 정보 가져오기, include를 통해 데이터를 가져와서 상대적으로는 적게 사용됨
- post.setLikers : 수정
게시글 제거, 닉네임 수정하기
게시글 제거하기
DB에서 사용되는 CRUD(Create, Read, Update, Delete)에서 시퀄라이즈 사용하고 있는 메서드는 아래와 같습니다.
- findOne, findAll: 레코드 조회
- create: 생성
- destroy: 제거
- update: 수정
destroy 메서드를 이용해서 지워주면 됩니다. 파라미터로 조회한 게시글 id와 본인이 작성한 게시글만 삭제할 수 있게 req.user.id를 조회하여 삭제해주면 됩니다.
닉네임 수정하기
수정할 수 있는 put, patch 메서드 중 부분만 수정할 수 있는 patch를 이용하고, update 메서드의 항목으로 req.body에 들어있는 nickname을 수정하고, where를 내 계정의 닉네임만 변경할 수 있도록 조건을 부여해줍니다.
참고자료
반응형
'NodeBird 복습 > node.js' 카테고리의 다른 글
react nodeBird 2-9 (쿼리 스트링과 lastId방식) (0) | 2021.05.14 |
---|---|
react nodeBird 2-8 (multer, express static, 해시태그 완성하기) (0) | 2021.05.13 |
react nodeBird 2-6 (게시글 불러오기, morgan 도입하기) (0) | 2021.05.10 |
react nodeBird 2-5 (게시글 댓글 완성, 로그인정보, credentials 이해하기) (0) | 2021.05.08 |
react nodeBird 2-4 (로그인완성 & 쿠키, 세션 이해하기) (0) | 2021.05.06 |