PUT /menu-categories/{menuCategoryId}

권한: OWNER, MANAGER

Path Parameters

Table 1. /menu-categories/{menuCategoryId}
Parameter Description

menuCategoryId

메뉴 카테고리 ID

Request Fields

Path Type Description

name

String

변경할 카테고리 이름

HTTP Request Example

PUT /menu-categories/0bacd7d7-2032-45fc-8421-0910d3e1dbc7 HTTP/1.1
Content-Type: application/json
Content-Length: 20
Host: localhost:8080

{"name":"치킨류"}

Response Fields

Path Type Description

code

String

응답 코드

status

String

HTTP 상태

message

String

응답 메시지

data.id

String

카테고리 ID

data.name

String

카테고리 이름

data.orderNo

Number

카테고리 정렬 순서

HTTP Response Example

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 204

{"code":"MC201","status":"OK","message":"메뉴 카테고리 수정 성공","data":{"id":"0bacd7d7-2032-45fc-8421-0910d3e1dbc7","name":"치킨류","orderNo":1},"timestamp":"2026-03-11T10:10:03.607299721"}

PATCH /menu-categories/{menuCategoryId}/orders

권한: OWNER, MANAGER

Path Parameters

Table 2. /menu-categories/{menuCategoryId}/orders
Parameter Description

menuCategoryId

메뉴 카테고리 ID

Request Fields

Path Type Description

orderNo

Number

변경할 정렬 순서 (1 이상)

HTTP Request Example

PATCH /menu-categories/83f1fd61-5526-4a6f-8ef4-16d14d0560fe/orders HTTP/1.1
Content-Type: application/json
Content-Length: 13
Host: localhost:8080

{"orderNo":2}

Response Fields

Path Type Description

code

String

응답 코드

status

String

HTTP 상태

message

String

응답 메시지

data.id

String

카테고리 ID

data.name

String

카테고리 이름

data.orderNo

Number

카테고리 정렬 순서

HTTP Response Example

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 211

{"code":"MC203","status":"OK","message":"메뉴 카테고리 순서 변경 성공","data":{"id":"83f1fd61-5526-4a6f-8ef4-16d14d0560fe","name":"치킨류","orderNo":1},"timestamp":"2026-03-11T10:10:03.579935366"}

DELETE /menu-categories/{menuCategoryId}

권한: OWNER, MANAGER

Path Parameters

Table 3. /menu-categories/{menuCategoryId}
Parameter Description

menuCategoryId

메뉴 카테고리 ID

HTTP Request Example

DELETE /menu-categories/be21c333-04fa-4252-883b-e12042d7e83b HTTP/1.1
Host: localhost:8080

Response Fields

Path Type Description

code

String

응답 코드

status

String

HTTP 상태

message

String

응답 메시지

data

Null

응답 데이터 (없음)

HTTP Response Example

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 132

{"code":"MC202","status":"OK","message":"메뉴 카테고리 삭제 성공","data":null,"timestamp":"2026-03-11T10:10:03.548755838"}

GET /menu-categories/{menuCategoryId}/menu-items

권한: 인증 불필요 (비공개 메뉴는 권한에 따라 필터링됨)

Path Parameters

Table 4. /menu-categories/{menuCategoryId}/menu-items
Parameter Description

menuCategoryId

메뉴 카테고리 ID

HTTP Request Example

GET /menu-categories/a10f1b2b-8009-4af4-93f8-e15670c8594b/menu-items HTTP/1.1
Host: localhost:8080

Response Fields

Path Type Description

code

String

응답 코드

status

String

HTTP 상태

message

String

응답 메시지

data[].id

String

메뉴 아이템 ID

data[].name

String

메뉴 이름

data[].description

String

메뉴 설명

data[].price

Number

가격

data[].orderNo

Number

정렬 순서

data[].isPopular

Boolean

인기 메뉴 여부

data[].menuStatus

String

메뉴 상태 (AVAILABLE, SOLD_OUT, HIDDEN)

data[].category.id

String

카테고리 ID

data[].category.name

String

카테고리 이름

data[].category.orderNo

Number

카테고리 정렬 순서

data[].tagNames

Array

태그 목록

HTTP Response Example

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 434

{"code":"MI205","status":"OK","message":"메뉴 아이템 목록 조회 성공","data":[{"id":"905526b2-4a3a-4e8e-8df2-54ee3174e422","name":"후라이드치킨","description":"바삭한 후라이드","price":18000,"orderNo":1,"isPopular":false,"menuStatus":"AVAILABLE","category":{"id":"a10f1b2b-8009-4af4-93f8-e15670c8594b","name":"치킨류","orderNo":1},"tagNames":["치킨","바삭"]}],"timestamp":"2026-03-11T10:10:03.628964885"}

POST /menu-categories/{menuCategoryId}/menu-items

권한: OWNER, MANAGER

Path Parameters

Table 5. /menu-categories/{menuCategoryId}/menu-items
Parameter Description

menuCategoryId

메뉴 카테고리 ID

Request Fields

Path Type Description

name

String

메뉴 이름

description

String

메뉴 설명

price

Number

가격

isPopular

Boolean

인기 메뉴 여부

menuStatus

String

메뉴 상태 (AVAILABLE, SOLD_OUT, HIDDEN)

tagNames

Array

태그 목록

HTTP Request Example

POST /menu-categories/4da038c6-5539-4e39-a909-6ea02a7d554d/menu-items HTTP/1.1
Content-Type: application/json
Content-Length: 156
Host: localhost:8080

{"name":"후라이드치킨","description":"바삭한 후라이드","price":18000,"isPopular":false,"menuStatus":"AVAILABLE","tagNames":["치킨","바삭"]}

Response Fields

Path Type Description

code

String

응답 코드

status

String

HTTP 상태

message

String

응답 메시지

data.id

String

메뉴 아이템 ID

data.name

String

메뉴 이름

data.description

String

메뉴 설명

data.price

Number

가격

data.orderNo

Number

정렬 순서

data.isPopular

Boolean

인기 메뉴 여부

data.menuStatus

String

메뉴 상태 (AVAILABLE, SOLD_OUT, HIDDEN)

data.category.id

String

카테고리 ID

data.category.name

String

카테고리 이름

data.category.orderNo

Number

카테고리 정렬 순서

data.tagNames

Array

태그 목록

HTTP Response Example

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 430

{"code":"MI200","status":"CREATED","message":"메뉴 아이템 등록 성공","data":{"id":"34b52340-1986-4212-95f5-e8589f5ec79a","name":"후라이드치킨","description":"바삭한 후라이드","price":18000,"orderNo":1,"isPopular":false,"menuStatus":"AVAILABLE","category":{"id":"4da038c6-5539-4e39-a909-6ea02a7d554d","name":"치킨류","orderNo":1},"tagNames":["치킨","바삭"]},"timestamp":"2026-03-11T10:10:03.665956416"}