푸드트럭 소유주에게는 전국 푸드트럭 영업 허가구역 정보를 제공한다. 전국 푸드트럭 허가구역에 관한 데이터는 공공 데이터 포털(https://www.data.go.kr)에서 제공하는 파일 데이터를 가공 제공한다.
또한 소비자를 위해 주변에 있는 푸드트럭에 관한 정보(위치-경도/위도, 음식 메뉴, 현재 운영중 여부)를 제공한다.
- ElasticSearch
- Java 11 + SpringBoot 2.5.0
Postman으로 작성한 API 명세 => API 명세
GET /api/truck/<트럭id> HTTP/1.1
//headers
{
jwt
}
GET /api/truck/geo?lat=<위도>&lon=<경도>&distance=<거리-km>
//headers
{
jwt
}
GET /api/truck/my HTTP/1.1
//headers
{
jwt
}
GET /api/truck/all HTTP/1.1
//headers
{
jwt
}
POST /api/truck/ HTTP/1.1
//headers
{
jwt
}
//body(formdata)
{
name: string,
description: string,
image: multipart-file
}
PUT /api/truck/ HTTP/1.1
//headers
{
jwt
}
//body(formdata)
{
name: string,
description: string,
image: multipart-file
}
PUT /api/truck/start/<트럭id> HTTP/1.1
//headers
{
jwt
}
//body(raw-json)
{
lat: float,
lon: float
}
PUT /api/truck/stop/<트럭id> HTTP/1.1
//headers
{
jwt
}
DELETE /api/truck/<트럭id> HTTP/1.1
//headers
{
jwt
}
//headers
{
jwt
}
GET /api/region/all HTTP/1.1
GET /api/region/geo?lat=<위도>&lon=<경도>&distance=<거리-km> HTTP/1.1
//headers
{
jwt
}
GET /api/region/address?city=<시도군>&town=<시군구> HTTP/1.1
//headers
{
jwt
}
POST /api/food/<트럭id> HTTP/1.1
//headers
{
jwt
}
//body(formdata)
{
name: string,
cost: integer,
description: string,
image: multipart-file
}
PUT /api/food/<트럭id> HTTP/1.1
//headers
{
jwt
}
//body(formdata)
{
name: string,
cost: integer,
description: string,
image: multipart-file
}
DELETE /api/food/<트럭id>/<음식id> HTTP/1.1
PUT /api/food/<트럭id>/sort/<음식 id 배열>
//headers
{
jwt
}
POST /api/rating/<트럭id> HTTP/1.1
//headers
{
jwt
}
//body(raw-json)
{
star: double,
comment: string
}
PUT /api/rating/<트럭id> HTTP/1.1
//headers
{
jwt
}
//body(raw-json)
{
star: double,
comment: string
}
DELETE /api/rating/<트럭id>/<리뷰id> HTTP/1.1
//headers
{
jwt
}
GET /api/rating/my HTTP/1.1
//headers
{
jwt
}
PUT /login/kakao HTTP/1.1
//body(raw-json)
{
authToken: string,
nickName: string,
role: string(OWNER/USER)
}
PUT /logout/kakao HTTP/1.1
//body(raw-json)
{
accessToken: string
}
PUT /login/apple HTTP/1.1
//body(raw-json)
{
authToken: string,
nickName: string,
role: string
}
PUT /logout/apple HTTP/1.1
//body(raw-json)
{
accessToken: string
}
GET /api/user/me HTTP/1.1
//headers
{
jwt
}
PUT /api/user/nickname HTTP/1.1
//headers
{
jwt
}
//body(raw-json)
{
nickName: string
}
PUT /api/user/role HTTP/1.1
//headers
{
jwt
}
//body(raw-json)
{
role: string(OWNER/USER)
}
POST /api/favorite HTTP/1.1
//headers
{
jwt
}
//body(raw-json)
{
truckId: string
}
GET /api/favorite/my HTTP/1.1
//headers
{
jwt
}
GET /api/favorite/truck/<트럭id> HTTP/1.1
//headers
{
jwt
}
DELETE /api/favorite/<트럭id> HTTP/1.1