1. API 목록
2. POST: 팀 댓글 등록
| Parameter | Description |
|---|---|
|
댓글을 등록할 팀의 ID |
| Name | Description |
|---|---|
|
Bearer {accessToken} |
HTTP Request
POST /teams/1/comments HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer member.access.token
Content-Length: 57
Host: localhost:8080
{
"description" : "정말 멋진 프로젝트네요!"
}
HTTP Response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
| Path | Type | Description |
|---|---|---|
|
|
댓글 내용 |
2.1. ⚠️ 실패 케이스
❌ Case 1: 존재하지 않는 팀
POST /teams/999/comments HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer member.access.token
Content-Length: 57
Host: localhost:8080
{
"description" : "정말 멋진 프로젝트네요!"
}
HTTP/1.1 404 Not Found
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 53
{
"message" : "팀이 존재하지 않습니다."
}
3. GET: 팀 댓글 목록 조회
| Parameter | Description |
|---|---|
|
댓글을 조회할 팀의 ID |
| Name | Description |
|---|---|
|
Bearer {accessToken} |
HTTP Request
GET /teams/1/comments HTTP/1.1
Authorization: Bearer member.access.token
Host: localhost:8080
HTTP Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 275
[ {
"commentId" : 1,
"description" : "정말 멋진 프로젝트네요!",
"memberId" : 1,
"memberName" : "이옵스",
"teamId" : 1
}, {
"commentId" : 2,
"description" : "고생하셨습니다!",
"memberId" : 2,
"memberName" : "김옵스",
"teamId" : 1
} ]
| Path | Type | Description |
|---|---|---|
|
|
댓글 목록 |
|
|
댓글 ID |
|
|
댓글 내용 |
|
|
작성자 ID |
|
|
작성자 이름 |
|
|
팀 ID |
4. PATCH: 팀 댓글 수정
| Parameter | Description |
|---|---|
|
팀 ID |
|
수정할 댓글 ID |
| Name | Description |
|---|---|
|
Bearer {accessToken} |
HTTP Request
PATCH /teams/1/comments/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer member.access.token
Content-Length: 57
Host: localhost:8080
{
"description" : "수정된 댓글 내용입니다."
}
HTTP Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
| Path | Type | Description |
|---|---|---|
|
|
수정할 댓글 내용 |
4.1. ⚠️ 실패 케이스
❌ Case 1: 본인이 작성하지 않은 댓글
PATCH /teams/1/comments/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer member.access.token
Content-Length: 57
Host: localhost:8080
{
"description" : "수정된 댓글 내용입니다."
}
HTTP/1.1 403 Forbidden
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 53
{
"message" : "댓글 작성자가 아닙니다."
}
5. DELETE: 팀 댓글 삭제
| Parameter | Description |
|---|---|
|
팀 ID |
|
삭제할 댓글 ID |
| Name | Description |
|---|---|
|
Bearer {accessToken} |
HTTP Request
DELETE /teams/1/comments/1 HTTP/1.1
Authorization: Bearer member.access.token
Host: localhost:8080
HTTP Response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
5.1. ⚠️ 실패 케이스
❌ Case 1: 본인이 작성하지 않은 댓글
DELETE /teams/1/comments/1 HTTP/1.1
Authorization: Bearer member.access.token
Host: localhost:8080
HTTP/1.1 403 Forbidden
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 53
{
"message" : "댓글 작성자가 아닙니다."
}