-
Notifications
You must be signed in to change notification settings - Fork 0
모각밥 참여 (Participations) API
yanggwangseong edited this page Nov 19, 2024
·
4 revisions
Method | Endpoint | Description |
---|---|---|
GET | /participations | 참여 했던 모각밥 리스트 가져오기 |
GET | /participations/:participationId | 참여 했던 특정 모각밥 정보 조회 |
POST | /participations | 모각밥 참여 신청 |
DELETE | /participations/:participationId | 모각밥 참여 취소 |
Key | Value | Description |
---|---|---|
Authorization | Bearer jwt-access-token | JWT 인증을 위한 액세스 토큰 |
No request body required.
Success (200 OK):
{
"success": true,
"data": [
{
"participationId": "67890",
"articleId": "12345",
"title": "홍대 모각밥 모집",
"startTime": "2024-11-20T18:00:00Z",
"endTime": "2024-11-20T20:00:00Z",
"createdAt": "2024-11-19T12:00:00Z"
},
{
"participationId": "67891",
"articleId": "12346",
"title": "강남 모각밥 모집",
"startTime": "2024-11-22T19:00:00Z",
"endTime": "2024-11-22T21:00:00Z",
"createdAt": "2024-11-19T12:30:00Z"
}
]
}
Exception
- 401 Unauthorized: 인증 토큰이 없거나 유효하지 않은 경우
{
"success": false,
"timestamp": "2023-02-22T06:25:08.663Z",
"status": 401,
"message": "인증 토큰이 없거나 유효하지 않습니다",
"path": "/participations"
}
Key | Value | Description |
---|---|---|
Authorization | Bearer jwt-access-token | JWT 인증을 위한 액세스 토큰 |
No request body required.
Success (200 OK):
{
"success": true,
"data": {
"participationId": "67890",
"articleId": "12345",
"title": "홍대 모각밥 모집",
"startTime": "2024-11-20T18:00:00Z",
"endTime": "2024-11-20T20:00:00Z",
"participants": [
{
"memberId": "67890",
"nickname": "yang",
"profileImage": "https://example.com/profiles/yang.jpg"
},
{
"memberId": "67891",
"nickname": "johndoe",
"profileImage": "https://example.com/profiles/johndoe.jpg"
}
],
"createdAt": "2024-11-19T12:00:00Z"
}
}
Exception
- 401 Unauthorized: 인증 토큰이 없거나 유효하지 않은 경우
{
"success": false,
"timestamp": "2023-02-22T06:25:08.663Z",
"status": 401,
"message": "인증 토큰이 없거나 유효하지 않습니다",
"path": "/participations/67890"
}
- 404 Not Found: 참여 기록이 존재하지 않는 경우
{
"success": false,
"timestamp": "2023-02-22T06:25:08.663Z",
"status": 404,
"message": "해당 참여 기록을 찾을 수 없습니다",
"path": "/participations/67890"
}
Key | Value | Description |
---|---|---|
Authorization | Bearer jwt-access-token | JWT 인증을 위한 액세스 토큰 |
Content-Type | application/json | 요청 본문이 JSON 형식임을 지정 |
{
"articleId": "54321"
}
Success (201 Created):
{
"success": true,
"data": {
"participationId": "12345",
"articleId": "54321",
"memberId": "67890",
"createdAt": "2024-11-19T12:00:00Z"
}
}
Exception
- 400 Bad Request: 필수 필드 누락
{
"success": false,
"timestamp": "2023-02-22T06:25:08.663Z",
"status": 400,
"message": "articleId는 필수입니다",
"path": "/participations"
}
- 409 Conflict: 이미 참여 중인 모집글
{
"success": false,
"timestamp": "2023-02-22T06:25:08.663Z",
"status": 409,
"message": "이미 해당 모집글에 참여하고 있습니다",
"path": "/participations"
}
Key | Value | Description |
---|---|---|
Authorization | Bearer jwt-access-token | JWT 인증을 위한 액세스 토큰 |
No request body required.
Success (200 OK):
{
"success": true,
"data": true
}
Exception
- 404 Not Found: 참여 기록이 존재하지 않는 경우
{
"success": false,
"timestamp": "2023-02-22T06:25:08.663Z",
"status": 404,
"message": "해당 참여 기록을 찾을 수 없습니다",
"path": "/participations/67890"
}
아래는 프로젝트 데이터베이스 설계 ERD입니다: