1. 배달기사

1.1. 배달기사 생성

Request
POST /api/riders HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 55
Host: localhost:8080

{
  "name" : "박기사",
  "phone" : "010-1234-5678"
}
Path Type Description

name

String

배달기사 이름

phone

String

배달기사 전화번호

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

{
  "riderId" : 1,
  "name" : "박기사",
  "phone" : "010-1234-5678"
}
Path Type Description

riderId

Number

ID

name

String

이름

phone

String

전화번호

2. 배달

2.1. 배달 생성

Request
POST /api/deliveries/1 HTTP/1.1
Accept: application/json
Host: localhost:8080
Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 62

{
  "deliveryId" : 1,
  "deliveryStatus" : "BEFORE_DELIVERY"
}
Path Type Description

deliveryId

Number

배달 ID

deliveryStatus

String

배달 상태

2.2. 배달기사 배차

Request
POST /api/deliveries/1/allocation/1 HTTP/1.1
Accept: application/json
Host: localhost:8080
Table 1. /api/deliveries/{deliveryId}/allocation/{riderId}
Parameter Description

deliveryId

배달 ID

riderId

배달기사 ID

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

{
  "riderId" : 1,
  "historyInfo" : {
    "deliveryStatus" : "ALLOCATED",
    "createdAt" : "2023-09-25T11:47:48.274438"
  }
}
Path Type Description

riderId

Number

배달기사 ID

historyInfo.deliveryStatus

String

배달 상태

historyInfo.createdAt

String

생성 일시

2.3. 배달 시작

Request
POST /api/deliveries/1/pick-up/1 HTTP/1.1
Accept: application/json
Host: localhost:8080
Table 2. /api/deliveries/{deliveryId}/pick-up/{riderId}
Parameter Description

deliveryId

배달 ID

riderId

배달기사 ID

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

{
  "riderId" : 1,
  "historyInfo" : {
    "deliveryStatus" : "DELIVERING",
    "createdAt" : "2023-09-25T11:47:48.359271"
  }
}
Path Type Description

riderId

Number

배달기사 ID

historyInfo.deliveryStatus

String

배달 상태

historyInfo.createdAt

String

생성 일시

2.4. 배달 종료

Request
POST /api/deliveries/1/arrival/1 HTTP/1.1
Accept: application/json
Host: localhost:8080
Table 3. /api/deliveries/{deliveryId}/arrival/{riderId}
Parameter Description

deliveryId

배달 ID

riderId

배달기사 ID

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

{
  "riderId" : 1,
  "historyInfo" : {
    "deliveryStatus" : "ARRIVED",
    "createdAt" : "2023-09-25T11:47:48.367645"
  }
}
Path Type Description

riderId

Number

배달기사 ID

historyInfo.deliveryStatus

String

배달 상태

historyInfo.createdAt

String

생성 일시

2.5. 배달 히스토리 조회

Request
GET /api/deliveries/1 HTTP/1.1
Accept: application/json
Host: localhost:8080
Table 4. /api/deliveries/{deliveryId}
Parameter Description

deliveryId

배달 ID

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

{
  "riderId" : 1,
  "historyInfos" : [ {
    "deliveryStatus" : "BEFORE_DELIVERY",
    "createdAt" : "2023-09-25T11:47:48.346763"
  }, {
    "deliveryStatus" : "ALLOCATED",
    "createdAt" : "2023-09-25T11:47:48.346777"
  }, {
    "deliveryStatus" : "DELIVERING",
    "createdAt" : "2023-09-25T11:47:48.34678"
  }, {
    "deliveryStatus" : "ARRIVED",
    "createdAt" : "2023-09-25T11:47:48.346783"
  } ]
}
Path Type Description

riderId

Number

배달기사 ID

historyInfos[].deliveryStatus

String

배달 상태

historyInfos[].createdAt

String

생성 일시

historyInfos[].deliveryStatus

String

배달 상태

historyInfos[].createdAt

String

생성 일시

3. 회원

3.1. 회원 생성

Request
POST /api/sign-up HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 201
Host: localhost:8080

{
  "loginId" : "rnqjaah1234",
  "password" : "1234",
  "name" : "구범모",
  "phone" : "010-4691-3526",
  "birthday" : "1998-08-12",
  "addressAlias" : "사근동 217-5",
  "address" : "우리집"
}
Path Type Description

loginId

String

로그인 ID

password

String

비밀번호

name

String

회원 이름

phone

String

회원 전화번호

birthday

String

생일

addressAlias

String

주소 가명

address

String

주소

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

{
  "id" : 1,
  "loginId" : "rnqjaah1234",
  "name" : "구범모",
  "phone" : "010-4691-3526",
  "birthday" : "1998-08-12",
  "grade" : "NEW",
  "addresses" : [ {
    "addressId" : 1,
    "address" : "우리집",
    "addressAlias" : "사근동 217-5"
  } ]
}
Path Type Description

id

Number

ID

loginId

String

로그인 ID

name

String

이름

phone

String

전화번호

birthday

String

생일

grade

String

등급

addresses[0].addressId

Number

주소 ID

addresses[0].addressAlias

String

주소 가명

addresses[0].address

String

주소

3.2. 로그인

Request
POST /api/sign-in HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 54
Host: localhost:8080

{
  "loginId" : "rnqjaah1234",
  "password" : "1234"
}
Path Type Description

loginId

String

로그인 ID

password

String

비밀번호

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

{
  "token" : "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJoaW1pbiIsImlhdCI6MTY5NTI5MzI0MiwiZXhwIjoxNjk1MjkzMzAyLCJ1c2VybmFtZSI6InJucWphYWgxMjM0Iiwicm9sZXMiOlsiUk9MRV9VU0VSIl19.y-EzjHSM7c9rLrdoKrbwYIcVjZT22XgX6RifEyNnVbhkXvB5FQiDIqjHtOx3M1xtv-2r1gt1ChGscVZRjQLgww",
  "memberId" : 1,
  "group" : [ "ROLE_USER" ]
}
Path Type Description

token

String

JWT 토큰

memberId

Number

회원 ID

group[]

Array

역할

3.3. 회원 조회

Request
GET /api/members/1 HTTP/1.1
Accept: application/json
Host: localhost:8080
Table 5. /api/members/{memberId}
Parameter Description

memberId

회원 ID

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

{
  "id" : 1,
  "loginId" : "rnqjaah1234",
  "name" : "구범모",
  "phone" : "010-4691-3526",
  "birthday" : "1998-08-12",
  "grade" : "NEW",
  "addresses" : [ {
    "addressId" : 1,
    "address" : "우리집",
    "addressAlias" : "사근동 217-5"
  } ]
}
Path Type Description

id

Number

ID

loginId

String

로그인 ID

name

String

이름

phone

String

전화번호

birthday

String

생일

grade

String

등급

addresses[0].addressId

Number

주소 ID

addresses[0].addressAlias

String

주소 가명

addresses[0].address

String

주소

3.4. 회원 업데이트

Request
PUT /api/members/1 HTTP/1.1
Content-Type: application/json
Content-Length: 148
Host: localhost:8080

{
  "loginId" : "rnqjaah1234",
  "password" : "1234",
  "name" : "업데이트구범모",
  "phone" : "010-4691-3526",
  "birthday" : "1998-08-12"
}
Table 6. /api/members/{memberId}
Parameter Description

memberId

회원 ID

Path Type Description

loginId

String

로그인 ID

password

String

비밀번호

name

String

이름

phone

String

전화번호

birthday

String

생일

Response
HTTP/1.1 204 No Content

3.5. 회원 삭제

Request
DELETE /api/withdrawal/1 HTTP/1.1
Host: localhost:8080
Table 7. /api/withdrawal/{memberId}
Parameter Description

memberId

회원 ID

Response
HTTP/1.1 200 OK

3.6. 회원 주소 추가

Request
POST /api/members/1/addresses HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 73
Host: localhost:8080

{
  "addressAlias" : "추가우리집",
  "address" : "사근동 217-6"
}
Table 8. /api/members/{memberId}/addresses
Parameter Description

memberId

회원 ID

Path Type Description

addressAlias

String

주소 가명

address

String

주소

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

{
  "addressId" : 2,
  "address" : "사근동 217-6",
  "addressAlias" : "추가우리집"
}
Path Type Description

addressId

Number

주소 ID

addressAlias

String

주소 가명

address

String

주소

3.7. 회원 주소 조회

Request
GET /api/members/1/addresses HTTP/1.1
Accept: application/json
Host: localhost:8080
Table 9. /api/members/{memberId}/addresses
Parameter Description

memberId

회원 ID

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

[ {
  "addressId" : 1,
  "address" : "사근동217-5",
  "addressAlias" : "우리집1"
}, {
  "addressId" : 2,
  "address" : "사근동217-6",
  "addressAlias" : "우리집2"
} ]
Path Type Description

[0].addressId

Number

주소 ID

[0].addressAlias

String

주소 가명

[0].address

String

주소

[1].addressId

Number

주소 ID

[1].addressAlias

String

주소 가명

[1].address

String

주소

3.8. 회원 주소 업데이트

Request
PUT /api/members/1/addresses/1 HTTP/1.1
Content-Type: application/json
Content-Length: 77
Host: localhost:8080

{
  "addressAlias" : "업데이트주소",
  "address" : "사근동217-217"
}
Table 10. /api/members/{memberId}/addresses/{addressId}
Parameter Description

memberId

회원 ID

addressId

주소 ID

Path Type Description

addressAlias

String

주소 가명

address

String

주소

Response
HTTP/1.1 204 No Content

3.9. 회원 주소 삭제

Request
DELETE /api/members/1/addresses/1 HTTP/1.1
Host: localhost:8080
Table 11. /api/members/{memberId}/addresses/{addressId}
Parameter Description

memberId

회원 ID

addressId

주소 ID

Response
HTTP/1.1 200 OK

4. 메뉴

4.1. 메뉴 생성

Request
POST /api/shops/1/menus HTTP/1.1
Content-Type: application/json
Content-Length: 67
Host: localhost:8080

{
  "name" : "컵라면",
  "price" : 1000,
  "popularity" : true
}
Path Type Description

name

String

메뉴 이름

price

Number

메뉴 가격

popularity

Boolean

메뉴 인기 여부

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

{
  "menuId" : 1,
  "name" : "고기 국수",
  "price" : 5000,
  "popularity" : false,
  "status" : "UNSELLABLE"
}
Path Type Description

menuId

Number

메뉴 ID

name

String

메뉴 이름

price

Number

메뉴 가격

popularity

Boolean

메뉴 인기 여부

status

String

메뉴 상태

4.2. 메뉴 조회

Request
GET /api/shops/1/menus/1 HTTP/1.1
Content-Type: application/json
Host: localhost:8080
Table 12. /api/shops/{shopId}/menus/{menuId}
Parameter Description

shopId

가게 ID

menuId

메뉴 ID

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

{
  "menuId" : 1,
  "name" : "고기 국수",
  "price" : 5000,
  "popularity" : false,
  "status" : "UNSELLABLE",
  "menuOptionGroupResponses" : [ {
    "menuOptionGroupId" : 1,
    "name" : "리뷰 이벤트",
    "menuOptionResponses" : [ {
      "menuOptionId" : 1,
      "name" : "계란말이",
      "price" : 100
    }, {
      "menuOptionId" : 2,
      "name" : "탕후루",
      "price" : 300
    } ]
  }, {
    "menuOptionGroupId" : 2,
    "name" : "추가 메뉴",
    "menuOptionResponses" : [ {
      "menuOptionId" : 3,
      "name" : "김치",
      "price" : 500
    }, {
      "menuOptionId" : 4,
      "name" : "고수",
      "price" : 1000
    } ]
  } ]
}
Path Type Description

menuId

Number

메뉴 ID

name

String

메뉴 이름

price

Number

메뉴 가격

popularity

Boolean

메뉴 인기 여부

status

String

메뉴 상태

menuOptionGroupResponses[].menuOptionGroupId

Number

메뉴 옵션 그룹 아이디

menuOptionGroupResponses[].name

String

메뉴 옵션 그룹 이름

menuOptionGroupResponses[].menuOptionResponses[].menuOptionId

Number

메뉴 옵션 ID

menuOptionGroupResponses[].menuOptionResponses[].name

String

메뉴 옵션 이름

menuOptionGroupResponses[].menuOptionResponses[].price

Number

메뉴 옵션 가격

4.3. 메뉴 업데이트

Request
PUT /api/shops/1/menus/1 HTTP/1.1
Content-Type: application/json
Content-Length: 30
Host: localhost:8080

{"name":"짬뽕","price":5000}
Table 13. /api/shops/{shopId}/menus/{menuId}
Parameter Description

shopId

가게 ID

menuId

메뉴 ID

Path Type Description

name

String

이름

price

Number

가격

Response
HTTP/1.1 204 No Content

4.4. 메뉴 상태 업데이트

Request
PATCH /api/shops/1/menus/1 HTTP/1.1
Content-Type: application/json
Content-Length: 27
Host: localhost:8080

{
  "status" : "SELLABLE"
}
Table 14. /api/shops/{shopId}/menus/{menuId}
Parameter Description

shopId

가게 ID

menuId

메뉴 ID

Path Type Description

status

String

상태

Response
HTTP/1.1 204 No Content

4.5. 메뉴 삭제

Request
DELETE /api/shops/1/menus/1 HTTP/1.1
Content-Type: application/json
Host: localhost:8080
Table 15. /api/shops/{shopId}/menus/{menuId}
Parameter Description

shopId

가게 ID

menuId

메뉴 ID

Response
HTTP/1.1 200 OK

5. 메뉴옵션그룹

5.1. 메뉴옵션그룹 생성

Request
POST /api/shops/1/menus/1/option-groups HTTP/1.1
Content-Type: application/json
Content-Length: 40
Host: localhost:8080

{
  "name" : "리뷰 이벤트 항목"
}
Table 16. /api/shops/{shopId}/menus/{menuId}/option-groups
Parameter Description

shopId

가게 ID

menuId

메뉴 ID

Path Type Description

name

String

메뉴 옵션 그룹 이름

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

{
  "menuOptionGroupId" : 1,
  "name" : "추가 메뉴"
}
Path Type Description

menuOptionGroupId

Number

메뉴 옵션 그룹 ID

name

String

메뉴 옵션 그룹 이름

5.2. 메뉴옵션그룹 업데이트

Request
PUT /api/shops/1/menus/1/option-groups/1 HTTP/1.1
Content-Type: application/json
Content-Length: 33
Host: localhost:8080

{
  "name" : "주방장 선택"
}
Table 17. /api/shops/{shopId}/menus/{menuId}/option-groups/{menuOptionGroupId}
Parameter Description

shopId

가게 ID

menuId

메뉴 ID

menuOptionGroupId

메뉴 옵션 그룹 ID

Path Type Description

name

String

메뉴 옵션 그룹 이름

Response
HTTP/1.1 204 No Content

5.3. 메뉴옵션그룹 삭제

Request
DELETE /api/shops/1/menus/1/option-groups/1 HTTP/1.1
Host: localhost:8080
Table 18. /api/shops/{shopId}/menus/{menuId}/option-groups/{menuOptionGroupId}
Parameter Description

shopId

가게 ID

menuId

메뉴 ID

menuOptionGroupId

메뉴 옵션 그룹 ID

Response
HTTP/1.1 200 OK

6. 메뉴옵션

6.1. 메뉴옵션 생성

Request
POST /api/shops/1/menus/1/option-groups/1/options HTTP/1.1
Content-Type: application/json
Content-Length: 50
Host: localhost:8080

{
  "name" : "아주매운맛",
  "price" : 1000
}
Table 19. /api/shops/{shopId}/menus/{menuId}/option-groups/{menuOptionGroupId}/options
Parameter Description

shopId

가게 ID

menuId

메뉴 ID

menuOptionGroupId

메뉴 옵션 그룹 ID

Path Type Description

name

String

메뉴 옵션 이름

price

Number

메뉴 옵션 가격

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

{
  "menuOptionId" : 1,
  "name" : "김치",
  "price" : 1000
}
Path Type Description

menuOptionId

Number

메뉴 옵션 ID

name

String

메뉴 옵션 이름

price

Number

메뉴 옵션 가격

6.2. 메뉴옵션 업데이트

Request
PUT /api/shops/1/menus/1/option-groups/1/options/1 HTTP/1.1
Content-Type: application/json
Content-Length: 43
Host: localhost:8080

{
  "name" : "가지맛",
  "price" : 500
}
Table 20. /api/shops/{shopId}/menus/{menuId}/option-groups/{menuOptionGroupId}/options/{menuOptionId}
Parameter Description

shopId

가게 ID

menuId

메뉴 ID

menuOptionGroupId

메뉴 옵션 그룹 ID

menuOptionId

메뉴 옵션 ID

Response
HTTP/1.1 204 No Content

6.3. 메뉴옵션 삭제

Request
DELETE /api/shops/1/menus/1/option-groups/1/options/1 HTTP/1.1
Content-Type: application/json
Host: localhost:8080
Table 21. /api/shops/{shopId}/menus/{menuId}/option-groups/{menuOptionGroupId}/options/{menuOptionId}
Parameter Description

shopId

가게 ID

menuId

메뉴 ID

menuOptionGroupId

메뉴 옵션 그룹 ID

menuOptionId

메뉴 옵션 ID

Response
HTTP/1.1 200 OK

7. 주문

7.1. 주문 생성

Request
POST /api/orders HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 315
Host: localhost:8080

{
  "memberId" : 1,
  "shopId" : 1,
  "address" : "성동구 사근동",
  "requirement" : "문앞에 두고 문자부탁드려요",
  "selectedMenus" : [ {
    "menuId" : 1,
    "quantity" : 5,
    "selectedMenuOptions" : [ {
      "menuOptionGroupId" : 1,
      "selectedMenuOptions" : [ 1, 2, 3 ]
    } ]
  } ]
}
Path Type Description

memberId

Number

회원 ID

shopId

Number

가게 ID

address

String

주소

requirement

String

요청사항

selectedMenus[].menuId

Number

메뉴 ID

selectedMenus[].quantity

Number

수량

selectedMenus[].selectedMenuOptions[].menuOptionGroupId

Number

메뉴옵션그룹 ID

selectedMenus[].selectedMenuOptions[].selectedMenuOptions[]

Array

메뉴옵션

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

{
  "orderId" : 1,
  "memberId" : 1,
  "shopId" : 1,
  "address" : "성동구 사근동",
  "requirement" : "문앞에 두고 문자부탁드려요",
  "selectedMenus" : [ {
    "menuId" : 1,
    "quantity" : 5,
    "selectedOptionIds" : [ 1, 2, 3 ]
  } ],
  "price" : 20000
}
Path Type Description

orderId

Number

주문 ID

memberId

Number

회원 ID

shopId

Number

가게 ID

address

String

주소

requirement

String

요청사항

selectedMenus[].menuId

Number

메뉴 ID

selectedMenus[].quantity

Number

수량

selectedMenus[].selectedOptionIds[]

Array

메뉴옵션

price

Number

가격

7.2. 주문 조회

Request
GET /api/orders/1 HTTP/1.1
Host: localhost:8080
Table 22. /api/orders/{orderId}
Parameter Description

orderId

주문 ID

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

{
  "orderId" : 1,
  "memberId" : 1,
  "shopId" : 1,
  "address" : "성동구 사근동",
  "requirement" : "문앞에 두고 문자부탁드려요",
  "selectedMenus" : [ {
    "menuId" : 1,
    "quantity" : 5,
    "selectedOptionIds" : [ 1, 2, 3 ]
  } ],
  "price" : 20000
}
Path Type Description

orderId

Number

주문 ID

memberId

Number

회원 ID

shopId

Number

가게 ID

address

String

배달 도착 주소

requirement

String

요구사항

selectedMenus[].menuId

Number

선택 메뉴 ID

selectedMenus[].quantity

Number

선택 메뉴 수량

selectedMenus[].selectedOptionIds[]

Array

선택 메뉴 옵션 ID 목록

price

Number

선택 메뉴 총 가격

7.3. 주문 다건 조회

Request
GET /api/orders/list?categories=CAFE&orderStatuses=DELIVERED&startTime=2023-08-21T00%3A00&endTime=2023-08-21T00%3A00&size=10&cursor=0 HTTP/1.1
Accept: application/json
memberId: 1
Host: localhost:8080
Name Description

memberId

회원 ID

Parameter Description

categories

검색 조건 - 카테고리

orderStatuses

검색 조건 - 주문 상태

startTime

검색 조건 - 시작 날짜

endTime

검색 조건 - 끝나는 날짜

size

Pagination - 사이즈

cursor

Pagination - 커서 ID

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

{
  "orderResponses" : [ {
    "orderId" : 1,
    "memberId" : 1,
    "shopId" : 1,
    "address" : "성동구 사근동",
    "requirement" : "문앞에 두고 문자부탁드려요",
    "selectedMenus" : [ {
      "menuId" : 1,
      "quantity" : 10,
      "selectedOptionIds" : [ 1, 2, 3 ]
    } ],
    "price" : 20000
  }, {
    "orderId" : 2,
    "memberId" : 1,
    "shopId" : 1,
    "address" : "성동구 사근동",
    "requirement" : "문앞에 두고 문자부탁드려요",
    "selectedMenus" : [ {
      "menuId" : 2,
      "quantity" : 10,
      "selectedOptionIds" : [ 4, 5 ]
    } ],
    "price" : 20000
  } ],
  "size" : 10,
  "nextCursor" : null,
  "isLast" : true
}
Path Type Description

orderResponses[].orderId

Number

주문 ID

orderResponses[].memberId

Number

회원 ID

orderResponses[].shopId

Number

가게 ID

orderResponses[].address

String

주소

orderResponses[].requirement

String

요청사항

orderResponses[].selectedMenus[].menuId

Number

선택메뉴 ID

orderResponses[].selectedMenus[].quantity

Number

주문수량

orderResponses[].selectedMenus[].selectedOptionIds[]

Array

선택옵션 ID

orderResponses[].price

Number

가격

size

Number

조회 페이지 사이즈

nextCursor

Null

다음 커서ID

isLast

Boolean

마지막 페이지 유무

8. 가게

8.1. 가게 생성

Request
POST /api/shops HTTP/1.1
Content-Type: application/json
Accept: application/json
Content-Length: 273
Host: localhost:8080

{
  "name" : "맥도날드",
  "category" : "FAST_FOOD",
  "address" : "경기도 광명시 광명동",
  "phone" : "02-2611-2222",
  "content" : "안녕하세요. 맥도날드입니다.",
  "deliveryTip" : 1000,
  "openingTime" : "09:00:00",
  "closingTime" : "21:00:00"
}
Path Type Description

shopId

Number

가게 ID

name

String

이름

category

String

음식 카테고리

address

String

주소

phone

String

전화번호

content

String

소개글

deliveryTip

Number

배달팁

dibsCount

Number

찜 수

status

String

상태

openingTime

String

오픈 시간

closingTime

String

폐점 시간

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

{
  "shopId" : 1,
  "name" : "맥도날드",
  "category" : "FAST_FOOD",
  "address" : "경기도 광명시 광명동",
  "phone" : "02-2611-2222",
  "content" : "안녕하세요. 맥도날드입니다.",
  "deliveryTip" : 1000,
  "dibsCount" : 0,
  "status" : "CLOSE",
  "openingTime" : "09:00",
  "closingTime" : "21:00"
}
Path Type Description

shopId

Number

가게 ID

name

String

이름

category

String

음식 카테고리

address

String

주소

phone

String

전화번호

content

String

소개글

deliveryTip

Number

배달팁

dibsCount

Number

찜 수

status

String

상태

openingTime

String

오픈 시간

closingTime

String

폐점 시간

8.2. 가게 단건 조회

Request
GET /api/shops/1 HTTP/1.1
Host: localhost:8080
Table 23. /api/shops/{shopId}
Parameter Description

shopId

가게 ID

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

{
  "shopId" : 1,
  "name" : "맥도날드",
  "category" : "FAST_FOOD",
  "address" : "경기도 광명시 광명동",
  "phone" : "02-2611-2222",
  "content" : "안녕하세요. 맥도날드입니다.",
  "deliveryTip" : 1000,
  "dibsCount" : 0,
  "status" : "CLOSE",
  "openingTime" : "09:00",
  "closingTime" : "21:00"
}
Path Type Description

shopId

Number

가게 ID

name

String

이름

category

String

음식 카테고리

address

String

주소

phone

String

전화번호

content

String

소개글

deliveryTip

Number

배달팁

dibsCount

Number

찜 수

status

String

상태

openingTime

String

오픈 시간

closingTime

String

폐점 시간

8.3. 가게 다건 조회

Request
GET /api/shops?name=%EB%A7%A5%EB%8F%84%EB%82%A0%EB%93%9C&category=CAFE&address=%EA%B4%91%EB%AA%85&deliveryTip=4000&menuName=%ED%96%84%EB%B2%84%EA%B1%B0&size=3&cursor=1&sort=deliveryTipAsc HTTP/1.1
Host: localhost:8080
Response
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 1214

{
  "shopResponses" : [ {
    "shopId" : 2,
    "name" : "맥도날드 2동점",
    "category" : "FAST_FOOD",
    "address" : "경기도 광명시 광명2동",
    "phone" : "02-2612-2222",
    "content" : "안녕하세요. 맥도날드 2호점입니다.",
    "deliveryTip" : 2000,
    "dibsCount" : 100,
    "status" : "OPEN",
    "openingTime" : "09:00",
    "closingTime" : "21:00"
  }, {
    "shopId" : 3,
    "name" : "맥도날드 3동점",
    "category" : "FAST_FOOD",
    "address" : "경기도 광명시 광명3동",
    "phone" : "02-2613-2223",
    "content" : "안녕하세요. 맥도날드 3호점입니다.",
    "deliveryTip" : 3000,
    "dibsCount" : 100,
    "status" : "OPEN",
    "openingTime" : "09:00",
    "closingTime" : "21:00"
  }, {
    "shopId" : 4,
    "name" : "맥도날드 4동점",
    "category" : "FAST_FOOD",
    "address" : "경기도 광명시 광명4동",
    "phone" : "02-2614-2224",
    "content" : "안녕하세요. 맥도날드 4호점입니다.",
    "deliveryTip" : 4000,
    "dibsCount" : 100,
    "status" : "OPEN",
    "openingTime" : "09:00",
    "closingTime" : "21:00"
  } ],
  "size" : 3,
  "nextCursor" : 4,
  "sort" : "DELIVERY_TIP_ASC",
  "isLast" : true
}
Path Type Description

shopResponses[].shopId

Number

가게 ID

shopResponses[].name

String

이름

shopResponses[].category

String

음식 카테고리

shopResponses[].address

String

주소

shopResponses[].phone

String

전화번호

shopResponses[].content

String

소개글

shopResponses[].deliveryTip

Number

배달팁

shopResponses[].dibsCount

Number

찜 수

shopResponses[].status

String

상태

shopResponses[].openingTime

String

오픈 시간

shopResponses[].closingTime

String

폐점 시간

size

Number

페이지 사이즈

nextCursor

Number

다음 커서 ID

sort

String

정렬 조건

isLast

Boolean

마지막 페이지 여부

8.4. 가게 삭제

Request
DELETE /api/shops/1 HTTP/1.1
Host: localhost:8080
Table 24. /api/shops/{shopId}
Parameter Description

shopId

가게 ID

Response
HTTP/1.1 200 OK

8.5. 조리 시작

Request
POST /api/shops/1/cook-beginning/1 HTTP/1.1
Host: localhost:8080
Table 25. /api/shops/{shopId}/cook-beginning/{orderId}
Parameter Description

shopId

가게 ID

orderId

주문 ID

Response
HTTP/1.1 200 OK

8.6. 조리 완료

Request
POST /api/shops/1/cook-completion/1 HTTP/1.1
Host: localhost:8080
Table 26. /api/shops/{shopId}/cook-completion/{orderId}
Parameter Description

shopId

가게 ID

orderId

주문 ID

Response
HTTP/1.1 200 OK