-
Notifications
You must be signed in to change notification settings - Fork 2
댓글 API
Jung edited this page Jun 25, 2022
·
9 revisions
"method": "POST"
"uri": "/api/v1/boards/{boardId}/posts/{postId}/comments"
"body" : {
"userId" : 1,
"postId" : 1,
"parentId" : null,
"isPostAnonymous" : true,
"isCommentAnonymous" : true,
"content" : "test1"
}
HTTP/1.1 201
Location: /api/v1/boards/{boardId}/posts/{postId}
Content-Type: application/json
{
"message" : "댓글 생성 성공",
"data": {
"userId": 1,
"parentId": null,
"commentId": 1,
"seq": 1,
"content": "test1"
}
}
"method": "POST"
"uri": "/api/v1/board/{id}/posts{id}/comments"
"body": {
"userId" : 1,
"postId" : 1,
"parentId" : 1,
"isPostAnonymous" : true,
"isCommentAnonymous" : true,
"content" : "test1"
}
HTTP/1.1 201
Location: /api/v1/board/{id}/posts/{id}
Content-Type: application/json
{
"message" : "댓글 생성 성공",
"data": {
"userId": 1,
"parentId": 1,
"commentId": 2,
"seq": 2,
"content": "test1"
}
}
"method": "POST"
"uri": "/api/v1/board/{id}/posts/{id}/comments"
"body" : {
"userId" : 1,
"postId" : 1,
"parentId" : null,
"isPostAnonymous" : true,
"isCommentAnonymous" : false,
"content" : "test1"
}
HTTP/1.1 201
Location: /api/v1/board/{id}/posts/{id}
Content-Type: application/json
{
"message" : "댓글 생성 성공",
"data": {
"userId": 1,
"parentId": null,
"commentId": 1,
"seq": null,
"content": "test1"
}
}
댓글 조회하는 요청 케이스를 페이징으로만 요청하도록 처리
즉 요청할 때, 쿼리 파라미터로 넣어서 받아오지 않고,
서버 내부에서 결정한 규칙으로 설정
- page size : 20개
- 정렬 기준 : createdAt (추가하지 않음.)
"method": "GET"
"uri": "/api/v1/board/{id}/posts/{id}/comments"
HTTP/1.1 200
Content-Type: application/json
{
"message" : "댓글 조회 성공",
"data": {
"content":[
{
"userId": 1,
"parentId": null,
"commentId": 1,
"seq": 1,
"content": "test1",
"like": 3,
"children": [
{
"userId": 2,
"parentId": 1,
"commentId": 2,
"seq": null,
"content": "test2",
"like": 0,
"children":[
]
}
]
},
{
"userId": 3,
"parentId": null,
"commentId": 3,
"seq": 2,
"content": "test3",
"like": 1,
"children": [
]
}
],
"pageable":{
"sort": {
"empty": false,
"sorted": true,
"unsorted": false
},
"offset": 0,
"pageNumber": 0,
"pageSize": 20,
"paged": true,
"unpaged" : false
},
"totalpages": 1,
"totalElements": 3,
"last": true,
"numberOfElements": 3,
"first": true,
"size": 20,
"number": 0,
"sort":{
"sorted": true,
"unsorted": false,
"empty": true
},
"empty": false
}
}
"method": "DELETE"
"uri": "/api/v1/comments/{commentId}"
HTTP/1.1 200
"message" : "댓글 삭제 성공",
"data": {
}
"method": "POST"
"uri": "/api/v1/board/{id}/posts/{id}/comments"
"body": {
"commentId" : 1
}
HTTP/1.1 201
"message" : "댓글 좋아요 생성 성공",
"data": {
}
"method": "DELETE"
"uri": "/api/v1/board/{id}/posts/{id}/comments"
"body": {
"commentId" : 1
}
HTTP/1.1 200
"message" : "좋아요 삭제 성공",
"data": {
}
- Post가 지워지면, 댓글이 모두 삭제된다.
- Post에 있는 부모 댓글 + 자식 댓글
- 부모댓글이 지워진다고 해서, 자식댓글이 사라지는 것은 아니다.
- 댓글이 지워지면 댓글의 좋아요도 같이 사라진다.