1. API 목록
2. POST: 대회 카테고리 생성
| Name | Description |
|---|---|
|
Bearer {accessToken} (관리자) |
HTTP Request
POST /categories HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer admin.access.token
Content-Length: 34
Host: localhost:8080
{
"categoryName" : "캡스톤"
}
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 /categories HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 34
Host: localhost:8080
{
"categoryName" : "캡스톤"
}
HTTP/1.1 409 Conflict
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 62
{
"message" : "동일한 카테고리명이 있습니다."
}
| Path | Type | Description |
|---|---|---|
|
|
이미 존재하는 카테고리 이름 |
3. PATCH: 대회 카테고리 수정
| 대회 카테고리 생성과 동일하게 이미 저장되어 있는 카테고리 이름은 저장 불가 |
| Name | Description |
|---|---|
|
Bearer {accessToken} (관리자) |
| Parameter | Description |
|---|---|
|
카테고리 ID |
HTTP Request
PATCH /categories/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: Bearer admin.access.token
Content-Length: 34
Host: localhost:8080
{
"categoryName" : "캡스톤"
}
HTTP Response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
| Path | Type | Description |
|---|---|---|
|
|
카테고리 이름 |
4. DELETE: 대회 카테고리 삭제
| Name | Description |
|---|---|
|
Bearer {accessToken} (관리자) |
| Parameter | Description |
|---|---|
|
카테고리 ID |
HTTP Request
DELETE /categories/1 HTTP/1.1
Authorization: Bearer admin.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. GET: 대회 카테고리 목록 조회
HTTP Request
GET /categories HTTP/1.1
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: 215
[ {
"categoryId" : 1,
"categoryName" : "해커톤",
"updatedAt" : "2026-03-28T15:18:11.869041815"
}, {
"categoryId" : 2,
"categoryName" : "자유대회",
"updatedAt" : "2026-03-28T15:18:11.869056968"
} ]
| Path | Type | Description |
|---|---|---|
|
|
대회 카테고리 목록 |
|
|
카테고리 ID |
|
|
카테고리 이름 |
|
|
수정 일시 (ISO-8601) |
6. GET: 메인페이지 사이드바 조회
모든 카테고리를 대회 목록과 함께 반환합니다. 대회가 없는 카테고리는 contests 가 빈 배열로 반환됩니다.
|
HTTP Request
Unresolved directive in contest-category.adoc - include::./build/generated-snippets/get-sidebar/http-request.adoc[]
HTTP Response
Unresolved directive in contest-category.adoc - include::./build/generated-snippets/get-sidebar/http-response.adoc[]
Response Body’s Fields
Unresolved directive in contest-category.adoc - include::./build/generated-snippets/get-sidebar/response-fields.adoc[]