공연 등록
HTTP 요청
공연 등록 요청에 대한 설명입니다.
HTTP Request
POST /api/v1/events HTTP/1.1
Content-Type: multipart/form-data; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
x-api-managerId: edf5e929-3d8a-4596-aed0-b74c70e4d3eb
Accept: application/json
Host: localhost:8080
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=request
Content-Type: application/json
{"title":"공연 제목","description":"공연 설명","place":"공연 장소","artist":"공연 아티스트","eventOpenTime":1745557200.000000000,"ticketingOpenTime":1745989200.000000000,"totalMap":"<svg>...</svg>","areas":[{"label":"A","price":50000,"areaMap":"<svg>...</svg>","seats":[{"cx":0,"cy":0,"row":1,"number":1},{"cx":1,"cy":1,"row":1,"number":2}]},{"label":"B","price":50000,"areaMap":"<svg>...</svg>","seats":[{"cx":100,"cy":200,"row":1,"number":1},{"cx":101,"cy":201,"row":1,"number":2}]}],"eventDatetimes":[1746075600.000000000,1746162000.000000000]}
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=thumbnail; filename=sample-thumbnail.jpg
Content-Type: image/jpeg
null
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
Request Headers
Request Body
Request Parts
| Part | Description |
|---|---|
|
공연 정보(JSON) |
|
공연 포스터 이미지 파일 (Multipart) |
Request Fields
| Path | Type | Description |
|---|---|---|
|
|
공연 제목 |
|
|
공연 설명 |
|
|
공연 장소 |
|
|
공연 아티스트 |
|
|
공연 오픈 일정 |
|
|
티켓팅 오픈 일정 |
|
|
좌석 배치도 이미지 경로 |
|
|
공연 구역 리스트 |
|
|
구역 이름 |
|
|
가격 |
|
|
구역 지도 SVG |
|
|
좌표 X |
|
|
좌표 Y |
|
|
좌석 행 |
|
|
좌석 번호 |
|
|
공연 일정 리스트 (ISO 8601) |
HTTP 성공 응답
공연 등록 성공 시 반환되는 응답입니다.
HTTP Response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: /api/v1/events/08c762a4-359e-41aa-8630-04e139a3ebac
Content-Type: application/json
Content-Length: 1925
{
"message" : "공연 생성 성공",
"code" : "0",
"data" : {
"id" : "08c762a4-359e-41aa-8630-04e139a3ebac",
"title" : "공연 제목",
"description" : "공연 설명",
"place" : "공연 장소",
"thumbnail" : "filename",
"artist" : "공연 아티스트",
"eventDatetimes" : [ {
"id" : "822e4b55-eced-48b4-8684-a28ae6f98d5c",
"datetime" : "2025-05-01T05:00:00Z"
}, {
"id" : "acb5bacf-993a-42f7-8b3f-739bcd9b2880",
"datetime" : "2025-05-02T05:00:00Z"
} ],
"eventOpenTime" : "2025-04-25T05:00:00Z",
"ticketingOpenTime" : "2025-04-30T05:00:00Z",
"totalMap" : "<svg>...</svg>",
"areas" : [ {
"id" : "f5f31806-c18e-4a94-99aa-dadf940586b2",
"eventId" : "08c762a4-359e-41aa-8630-04e139a3ebac",
"label" : "A",
"price" : 50000,
"areaMap" : "<svg>...</svg>",
"seats" : [ {
"id" : "7a7e63b8-b65d-42ad-90bb-81dde13f5dcc",
"areaId" : "f5f31806-c18e-4a94-99aa-dadf940586b2",
"cx" : 0,
"cy" : 0,
"row" : 1,
"number" : 1
}, {
"id" : "344e022a-04e5-4c7e-b9ab-c56b422357f5",
"areaId" : "f5f31806-c18e-4a94-99aa-dadf940586b2",
"cx" : 1,
"cy" : 1,
"row" : 1,
"number" : 2
} ]
}, {
"id" : "1c13cc9f-93f0-4caf-871c-e9a39b32883e",
"eventId" : "08c762a4-359e-41aa-8630-04e139a3ebac",
"label" : "B",
"price" : 50000,
"areaMap" : "<svg>...</svg>",
"seats" : [ {
"id" : "8225560f-afc7-401e-aa58-00f006e70f22",
"areaId" : "1c13cc9f-93f0-4caf-871c-e9a39b32883e",
"cx" : 100,
"cy" : 200,
"row" : 1,
"number" : 1
}, {
"id" : "08fc690c-adc4-4e1e-b6ea-4b766adb9dad",
"areaId" : "1c13cc9f-93f0-4caf-871c-e9a39b32883e",
"cx" : 101,
"cy" : 201,
"row" : 1,
"number" : 2
} ]
} ]
}
}
Response Headers
| Name | Description |
|---|---|
|
생성된 리소스의 URI |
Response Body
{
"message" : "공연 생성 성공",
"code" : "0",
"data" : {
"id" : "08c762a4-359e-41aa-8630-04e139a3ebac",
"title" : "공연 제목",
"description" : "공연 설명",
"place" : "공연 장소",
"thumbnail" : "filename",
"artist" : "공연 아티스트",
"eventDatetimes" : [ {
"id" : "822e4b55-eced-48b4-8684-a28ae6f98d5c",
"datetime" : "2025-05-01T05:00:00Z"
}, {
"id" : "acb5bacf-993a-42f7-8b3f-739bcd9b2880",
"datetime" : "2025-05-02T05:00:00Z"
} ],
"eventOpenTime" : "2025-04-25T05:00:00Z",
"ticketingOpenTime" : "2025-04-30T05:00:00Z",
"totalMap" : "<svg>...</svg>",
"areas" : [ {
"id" : "f5f31806-c18e-4a94-99aa-dadf940586b2",
"eventId" : "08c762a4-359e-41aa-8630-04e139a3ebac",
"label" : "A",
"price" : 50000,
"areaMap" : "<svg>...</svg>",
"seats" : [ {
"id" : "7a7e63b8-b65d-42ad-90bb-81dde13f5dcc",
"areaId" : "f5f31806-c18e-4a94-99aa-dadf940586b2",
"cx" : 0,
"cy" : 0,
"row" : 1,
"number" : 1
}, {
"id" : "344e022a-04e5-4c7e-b9ab-c56b422357f5",
"areaId" : "f5f31806-c18e-4a94-99aa-dadf940586b2",
"cx" : 1,
"cy" : 1,
"row" : 1,
"number" : 2
} ]
}, {
"id" : "1c13cc9f-93f0-4caf-871c-e9a39b32883e",
"eventId" : "08c762a4-359e-41aa-8630-04e139a3ebac",
"label" : "B",
"price" : 50000,
"areaMap" : "<svg>...</svg>",
"seats" : [ {
"id" : "8225560f-afc7-401e-aa58-00f006e70f22",
"areaId" : "1c13cc9f-93f0-4caf-871c-e9a39b32883e",
"cx" : 100,
"cy" : 200,
"row" : 1,
"number" : 1
}, {
"id" : "08fc690c-adc4-4e1e-b6ea-4b766adb9dad",
"areaId" : "1c13cc9f-93f0-4caf-871c-e9a39b32883e",
"cx" : 101,
"cy" : 201,
"row" : 1,
"number" : 2
} ]
} ]
}
}
Response Fields
| Path | Type | Description |
|---|---|---|
|
|
성공 코드 |
|
|
성공 메시지 |
|
|
응답 값 |
|
|
이벤트 ID |
|
|
공연 제목 |
|
|
공연 설명 |
|
|
공연 장소 |
|
|
포스터 이미지 URL |
|
|
공연 아티스트 |
|
|
공연 오픈 일정 (ISO 8601) |
|
|
티켓팅 오픈 일정 (ISO 8601) |
|
|
전체 좌석 배치도 URL |
|
|
공연 일정 목록 |
|
|
공연 일정 ID |
|
|
공연 일시 (ISO 8601) |
|
|
공연 구역 목록 |
|
|
구역 아이디 |
|
|
해당 구역의 공연 아이디 |
|
|
구역 이름 |
|
|
구역 가격 |
|
|
구역 배치도 SVG |
|
|
좌석 목록 |
|
|
좌석 아이디 |
|
|
해당 좌석의 구역 아이디 |
|
|
좌석 X 좌표 |
|
|
좌석 Y 좌표 |
|
|
좌석 행 번호 |
|
|
좌석 번호 |
HTTP 실패 응답
공연 등록 실패 시 발생할 수 있는 오류들을 분류하여 설명합니다.
유효성 오류
공연 등록 요청 데이터의 유효성 검사 실패 응답입니다.
중복 오류
공연 등록 요청 데이터의 중복 예외로 인한 실패 응답입니다.
파일 업로드 오류
공연 포스터 이미지 업로드 과정에서 예외가 발생했을 때 실패 응답입니다.
기타 요청 오류
공연 등록 요청 과정에서 발생할 수 있는 기타 오류입니다.
공연 목록 조회
HTTP 요청
공연 목록 조회 요청에 대한 설명입니다.
HTTP Request
GET /api/v1/events HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080
Request Headers
Request Body
Request Fields
HTTP 성공 응답
공연 목록 조회 성공 시 반환되는 응답입니다.
HTTP Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 1223
{
"message" : "전체 공연 목록 조회 성공",
"code" : "0",
"data" : [ {
"id" : "942bc64b-4638-422a-a0db-7eb87ef12b31",
"title" : "공연 제목 1",
"description" : "공연 설명",
"place" : "공연 장소",
"thumbnail" : "sample-thumbnail.png",
"artist" : "공연 아티스트",
"eventDatetimes" : [ {
"id" : "4fa677aa-efd2-4d97-b1a6-320a5ceb5abe",
"datetime" : "2025-05-01T05:00:00Z"
}, {
"id" : "f7ceccf3-5117-433a-a7ae-cfcab34c3080",
"datetime" : "2025-05-02T05:00:00Z"
} ],
"eventOpenTime" : "2025-04-25T05:00:00Z",
"ticketingOpenTime" : "2025-04-30T05:00:00Z"
}, {
"id" : "6ed74e28-e6d2-4d73-ae58-710e1785e1c4",
"title" : "공연 제목 2",
"description" : "공연 설명",
"place" : "공연 장소",
"thumbnail" : "sample-thumbnail.png",
"artist" : "공연 아티스트",
"eventDatetimes" : [ {
"id" : "f857768e-f36f-4df6-9bc7-d54fd73ed409",
"datetime" : "2025-05-01T05:00:00Z"
}, {
"id" : "c8db9fa5-390d-43be-b10d-1ef224a6b36e",
"datetime" : "2025-05-02T05:00:00Z"
} ],
"eventOpenTime" : "2025-04-25T05:00:00Z",
"ticketingOpenTime" : "2025-04-30T05:00:00Z"
} ]
}
Response Headers
Response Body
{
"message" : "전체 공연 목록 조회 성공",
"code" : "0",
"data" : [ {
"id" : "942bc64b-4638-422a-a0db-7eb87ef12b31",
"title" : "공연 제목 1",
"description" : "공연 설명",
"place" : "공연 장소",
"thumbnail" : "sample-thumbnail.png",
"artist" : "공연 아티스트",
"eventDatetimes" : [ {
"id" : "4fa677aa-efd2-4d97-b1a6-320a5ceb5abe",
"datetime" : "2025-05-01T05:00:00Z"
}, {
"id" : "f7ceccf3-5117-433a-a7ae-cfcab34c3080",
"datetime" : "2025-05-02T05:00:00Z"
} ],
"eventOpenTime" : "2025-04-25T05:00:00Z",
"ticketingOpenTime" : "2025-04-30T05:00:00Z"
}, {
"id" : "6ed74e28-e6d2-4d73-ae58-710e1785e1c4",
"title" : "공연 제목 2",
"description" : "공연 설명",
"place" : "공연 장소",
"thumbnail" : "sample-thumbnail.png",
"artist" : "공연 아티스트",
"eventDatetimes" : [ {
"id" : "f857768e-f36f-4df6-9bc7-d54fd73ed409",
"datetime" : "2025-05-01T05:00:00Z"
}, {
"id" : "c8db9fa5-390d-43be-b10d-1ef224a6b36e",
"datetime" : "2025-05-02T05:00:00Z"
} ],
"eventOpenTime" : "2025-04-25T05:00:00Z",
"ticketingOpenTime" : "2025-04-30T05:00:00Z"
} ]
}
Response Fields
| Path | Type | Description |
|---|---|---|
|
|
성공 코드 |
|
|
성공 메시지 |
|
|
응답 값 |
|
|
이벤트 목록 |
|
|
이벤트 ID |
|
|
공연 제목 |
|
|
공연 설명 |
|
|
공연 장소 |
|
|
포스터 이미지 URL |
|
|
공연 아티스트 |
|
|
공연 오픈 일정 (ISO 8601) |
|
|
티켓팅 오픈 일정 (ISO 8601) |
|
|
공연 일정 목록 |
|
|
공연 일정 ID |
|
|
공연 일시 (ISO 8601) |
HTTP 실패 응답
공연 목록 조회 실패 시 발생할 수 있는 오류들을 분류하여 설명합니다.
단일 공연 조회
HTTP 요청
단일 공연 조회 요청에 대한 설명입니다.
HTTP Request
GET /api/v1/events/a2dae6cb-84fa-419b-a687-7f13c7415d65 HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080
Path Parameters ./api/v1/events/{eventId}
| Parameter | Description |
|---|---|
|
조회하고 싶은 공연 아이디 |
Request Headers
Request Body
Request Fields
HTTP 성공 응답
단일 공연 조회 성공 시 반환되는 응답입니다.
HTTP Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 641
{
"message" : "단일 공연 조회 성공",
"code" : "0",
"data" : {
"id" : "a2dae6cb-84fa-419b-a687-7f13c7415d65",
"title" : "공연 제목",
"description" : "공연 설명",
"place" : "공연 장소",
"thumbnail" : "sample-thumbnail.png",
"artist" : "공연 아티스트",
"eventDatetimes" : [ {
"id" : "70e72f11-a39c-43f3-91ba-71f4503d83ca",
"datetime" : "2025-05-01T05:00:00Z"
}, {
"id" : "e6860f63-c16f-46e0-9bad-65457b0dd90a",
"datetime" : "2025-05-02T05:00:00Z"
} ],
"eventOpenTime" : "2025-04-25T05:00:00Z",
"ticketingOpenTime" : "2025-04-30T05:00:00Z"
}
}
Path Parameters ./api/v1/events/{eventId}
| Parameter | Description |
|---|---|
|
조회하고 싶은 공연 아이디 |
Response Headers
Response Body
{
"message" : "단일 공연 조회 성공",
"code" : "0",
"data" : {
"id" : "a2dae6cb-84fa-419b-a687-7f13c7415d65",
"title" : "공연 제목",
"description" : "공연 설명",
"place" : "공연 장소",
"thumbnail" : "sample-thumbnail.png",
"artist" : "공연 아티스트",
"eventDatetimes" : [ {
"id" : "70e72f11-a39c-43f3-91ba-71f4503d83ca",
"datetime" : "2025-05-01T05:00:00Z"
}, {
"id" : "e6860f63-c16f-46e0-9bad-65457b0dd90a",
"datetime" : "2025-05-02T05:00:00Z"
} ],
"eventOpenTime" : "2025-04-25T05:00:00Z",
"ticketingOpenTime" : "2025-04-30T05:00:00Z"
}
}
Response Fields
| Path | Type | Description |
|---|---|---|
|
|
성공 코드 |
|
|
성공 메시지 |
|
|
응답 값 |
|
|
이벤트 목록 |
|
|
이벤트 ID |
|
|
공연 제목 |
|
|
공연 설명 |
|
|
공연 장소 |
|
|
포스터 이미지 URL |
|
|
공연 아티스트 |
|
|
공연 오픈 일정 (ISO 8601) |
|
|
티켓팅 오픈 일정 (ISO 8601) |
|
|
공연 일정 목록 |
|
|
공연 일정 ID |
|
|
공연 일시 (ISO 8601) |
HTTP 실패 응답
단일 공연 조회 실패 시 발생할 수 있는 오류들을 분류하여 설명합니다.
공연 삭제
HTTP 요청
공연 삭제 요청에 대한 설명입니다.
HTTP Request
DELETE /api/v1/events/e5794779-227c-4890-9212-52ef44ae7f4d HTTP/1.1
Content-Type: application/json
Accept: application/json
Host: localhost:8080
Request Headers
Request Body
Request Fields
HTTP 성공 응답
공연 삭제 성공 시 반환되는 응답입니다.
HTTP Response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
Content-Length: 56
{
"message" : "공연 삭제 성공",
"code" : "0"
}
Response Headers
Response Body
{
"message" : "공연 삭제 성공",
"code" : "0"
}
Response Fields
| Path | Type | Description |
|---|---|---|
|
|
성공 코드 |
|
|
성공 메시지 |
HTTP 실패 응답
공연 삭제 실패 시 발생할 수 있는 오류들을 분류하여 설명합니다.