HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
♥️
2기 최종 프로젝트 팀별 공간
/
📚
[팀06] Books
/
♣️
API 스펙
/
💭
스터디글 댓글 작성
💭

스터디글 댓글 작성

Method
Post
Domain
Comment
담당자
성공시 반환코드
201
created
end-point
완료
완료
요구사항
📜
스터디 글에 대한 댓글
권한
사용자
멤버
⚙
예상동작

    Request

    Request Header

      Path Variable

        Request Body

        { }
         

        Response

        201 created

        Response Header

          Response Body

          { "data":{ } }
           

          예외상황

          studies/studyId/postId/comments → url 만 봤을 때 post의 식별자인지 알기 어려움
          • comments?studyId=&postId=? →
          studies/studyId/posts/postId/comments → 리소스간의 뎁스 구조가 확실해보이지만, 뎁스가 깊어지면 url 이 너무 길어집니다
          • 뎁스가 깊어지면 body 로 ?
          • 서버에서는 body 로부터 데이터 받아서 처리만 해주면 되니까
            • 이 때는 상호간의 약속 같은게 필요할 것 같다
          • 줄이기 위해서는
            • → studies/studyId + postId
            • JSON 으로 관리하는게 좀 더 복잡해 질 수 있긴 한데 큰 규모에서는 그런식으로 준다고 ( 엔트리포인트가 위와 같이 길어지기 땜에.. )
           
          키워드 ?? 알려주세용 rest api ㅠㅠ
          nested resource??
          root resource??
          ( 엔트리 포인트.. )
          comments?postId =
           
          Stu
           

          흐름도

          sequenceDiagram participant 스터디원 participant 댓글 API 스터디원 ->> 댓글 API : POST studies/studyId/posts/postId/comments 요청 댓글 API ->> 댓글 서비스 : 댓글 작성 요청 댓글 서비스 ->> 스터디 서비스 : 스터디 ID 전달 + 유저 ID 전달 스터디 서비스 ->> DB : 스터디 존재 여부 및 가입 여부 조회 DB -->> 스터디 서비스 : 스터디 존재 여부 및 가입 여부 반환 스터디 서비스 -->> 댓글 서비스 : 스터디 존재 여부 및 가입 여부 반환 댓글 서비스 ->> 게시글 서비스 : 게시글 ID 전달 게시글 서비스 ->> DB : 게시글 존재 여부 조회 DB -->> 게시글 서비스: 게시글 존재 여부 반환 게시글 서비스 -->> 댓글 서비스 : 게시글 존재 여부 반환 댓글 서비스 ->> DB : 댓글 저장 DB -->> 댓글 서비스 : 댓글 반환 댓글 서비스 -->> 댓글 API : 생성한 댓글 ID 반환 댓글 API -->> 스터디원 : 201 CREATED + 댓글 ID 반환