PUT /menu-items/{menuItemId}

권한: OWNER, MANAGER

모든 필드를 교체합니다. 카테고리 이동이 가능합니다.

Path Parameters

Table 1. /menu-items/{menuItemId}
Parameter Description

menuItemId

메뉴 아이템 ID

Request Fields

Path Type Description

name

String

메뉴 이름

description

String

메뉴 설명

price

Number

가격

isPopular

Boolean

인기 메뉴 여부

categoryId

String

이동할 카테고리 ID

menuStatus

String

메뉴 상태 (AVAILABLE, SOLD_OUT, HIDDEN)

tagNames

Array

태그 목록

HTTP Request Example

PUT /menu-items/caa44e30-b9e8-4a53-b3de-8d5a9c5b2a59 HTTP/1.1
Content-Type: application/json
Content-Length: 186
Host: localhost:8080

{"name":"양념치킨","description":"달콤한 양념","price":19000,"isPopular":true,"categoryId":"f10ca526-0a73-4438-8921-21cbece43e70","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: 424

{"code":"MI201","status":"OK","message":"메뉴 아이템 수정 성공","data":{"id":"caa44e30-b9e8-4a53-b3de-8d5a9c5b2a59","name":"후라이드치킨","description":"바삭한 후라이드","price":18000,"orderNo":1,"isPopular":false,"menuStatus":"AVAILABLE","category":{"id":"f10ca526-0a73-4438-8921-21cbece43e70","name":"치킨류","orderNo":1},"tagNames":["치킨","바삭"]},"timestamp":"2026-03-11T10:10:04.19992141"}

PATCH /menu-items/{menuItemId}

권한: OWNER, MANAGER

전달된 필드만 변경합니다. 전달하지 않은 필드는 기존 값을 유지합니다.

Path Parameters

Table 2. /menu-items/{menuItemId}
Parameter Description

menuItemId

메뉴 아이템 ID

Request Fields

Path Type Description

name

String

변경할 메뉴 이름

description

Null

변경할 메뉴 설명

price

Null

변경할 가격

isPopular

Null

변경할 인기 메뉴 여부

categoryId

Null

이동할 카테고리 ID

menuStatus

Null

변경할 메뉴 상태 (AVAILABLE, SOLD_OUT, HIDDEN)

tagNames

Null

변경할 태그 목록

HTTP Request Example

PATCH /menu-items/be1f5f89-dc84-4fc6-b7a4-7c38f9944231 HTTP/1.1
Content-Type: application/json
Content-Length: 124
Host: localhost:8080

{"name":"양념치킨","description":null,"price":null,"isPopular":null,"categoryId":null,"menuStatus":null,"tagNames":null}

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: 425

{"code":"MI201","status":"OK","message":"메뉴 아이템 수정 성공","data":{"id":"be1f5f89-dc84-4fc6-b7a4-7c38f9944231","name":"후라이드치킨","description":"바삭한 후라이드","price":18000,"orderNo":1,"isPopular":false,"menuStatus":"AVAILABLE","category":{"id":"20ef1858-78d0-4af1-a5f4-8da66506e138","name":"치킨류","orderNo":1},"tagNames":["치킨","바삭"]},"timestamp":"2026-03-11T10:10:04.150978452"}

PATCH /menu-items/{menuItemId}/orders?order={order}

권한: OWNER, MANAGER

Path Parameters

Table 3. /menu-items/{menuItemId}/orders
Parameter Description

menuItemId

메뉴 아이템 ID

Query Parameters

Parameter Description

order

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

HTTP Request Example

PATCH /menu-items/f5c576ee-3a08-4c95-9499-7df16933d6a8/orders?order=2 HTTP/1.1
Content-Type: application/x-www-form-urlencoded
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: 432

{"code":"MI203","status":"OK","message":"메뉴 아이템 순서 변경 성공","data":{"id":"f5c576ee-3a08-4c95-9499-7df16933d6a8","name":"후라이드치킨","description":"바삭한 후라이드","price":18000,"orderNo":1,"isPopular":false,"menuStatus":"AVAILABLE","category":{"id":"8d96804e-7ce4-441a-a05e-38e233740e86","name":"치킨류","orderNo":1},"tagNames":["치킨","바삭"]},"timestamp":"2026-03-11T10:10:04.113351153"}

DELETE /menu-items/{menuItemId}

권한: OWNER, MANAGER

Path Parameters

Table 4. /menu-items/{menuItemId}
Parameter Description

menuItemId

메뉴 아이템 ID

HTTP Request Example

DELETE /menu-items/617296f5-2287-4cd2-87e6-ea45a681e77a 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: 129

{"code":"MI202","status":"OK","message":"메뉴 아이템 삭제 성공","data":null,"timestamp":"2026-03-11T10:10:04.174920724"}