typeORM으로 대댓글 구현

00_8_3·2021년 5월 29일
0

대댓글

POST /posts/comment/:postId/:commentId

문제

A브라우저와 B브라우저 같은 게시물의 같은 댓글에
대댓글을 생성하려고 하는 경우
A브라우저가 먼저 대댓글을 생성하고
B브라우저가 따라 대댓글을 생성할 때

A브라우저의 대댓글로 인해 sorts, depth의 변경사항이
B브라우저의 상태에는 반영 되지 않는 상태에서
대댓글을 생성하려 할 때 문제발생 가능.

해결

대댓글을 생성할 때 (대댓글 생성 api 호출할 때)
댓글(대댓글을 생성할 부모댓글)의 id값을 가져와
db에서 sorts, depth를 꺼내와

아래출처의 알고리즘으로 대댓글의 sorts와 depth를 정해주어서 저장한다.

고민

현재는 파라미터로 댓글 id를 가져오는데

  • Param으로 댓글 id를 불러오는 경우는
    파라미터 값을 안넣어줬을 때 디폴트 값을 못줌

  • Query 댓글 id를 불러오는 경우는
    파라미터 값을 안줄경우 디폴트 값으로 가져올 수있음

추가

위에 파람이나 쿼리 둘 중 무엇을 쓰냐 고민을 하였었는데
프로젝트의 일관성을 유지하는게 좋을 것 같다.

출처

https://vkein.tistory.com/entry/%EB%8B%B5%EB%B3%80%ED%98%95-%EA%B2%8C%EC%8B%9C%ED%8C%90

0개의 댓글