예상동작
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 로부터 데이터 받아서 처리만 해주면 되니까
- 이 때는 상호간의 약속 같은게 필요할 것 같다
- 줄이기 위해서는
- JSON 으로 관리하는게 좀 더 복잡해 질 수 있긴 한데 큰 규모에서는 그런식으로 준다고 ( 엔트리포인트가 위와 같이 길어지기 땜에.. )
→ studies/studyId + postId
키워드 ?? 알려주세용 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 반환