1. 初始化接口
接口功能
前端把cars数据传给后端
URL
/init
HTTP请求方式
POST
请求参数
参数
必选
类型
说明
cars
true
array
所有cars组成的数组
cars举例:
[
{
"id": 1,
"category": "sedan",
"availability": true,
"brand": "Toyota",
"model": "Camry",
"model_year": "2013",
"mileage": "85364",
"fuel_type": "Petrol",
"seats": "5",
"price_per_day": 240,
"description": "The Toyota Camry is an automobile...",
"img": "images/Camry.jpg"
},
{
"id": 2,
"category": "sedan",
"availability": true,
"brand": "Nissan",
"model": "320i",
"model_year": "2015",
"mileage": "36782",
"fuel_type": "Petrol",
"seats": "7",
"price_per_day": 360,
"description": "The Nissan 320i is a compact cross...",
"img": "images/320i.jpg"
}
// ......
]
返回字段
无
2. 检查car的availability
接口功能
在添加购物车之前检查car是否可用
URL
/checkAvailability
HTTP请求方式
GET
请求参数
参数
必选
类型
说明
id
true
number
car的唯一id
返回字段
返回字段
字段类型
说明
availability
boolean
true:可用,false:不可用
3. 将某car添加到购物车
接口功能
点击“添加购物车”按钮,可以点击多次添加多个(若购物车里该car数量为0,则设置为1;若car数量>0,则+1)
URL
/addCar
HTTP请求方式
POST
请求参数
参数
必选
类型
说明
id
true
number
car的id
返回字段
无
4. 获取购物车中的所有car列表
接口功能
点击“查看购物车”时调用
URL
/getCartList
HTTP请求方式
GET
请求参数
无
返回字段
返回字段
字段类型
说明
cartCars
array
所有加入购物车的的cars组成的数组
cartCars举例:
[
{
"id": 1,
"img": "images/Camry.jpg",
"brand": "Toyota",
"model": "Camry",
"model_year": "2013",
"price_per_day": 240,
"rentalDays": 2
},
{
"id": 2,
"img": "images/320i.jpg",
"brand": "Nissan",
"model": "320i",
"model_year": "2015",
"price_per_day": 360,
"rentalDays": 10
},
// ......
]
5. 将某car从购物车删除
URL
/deleteCar
HTTP请求方式
POST
请求参数
参数
必选
类型
说明
id
true
number
car的id
返回字段
无
6. 批量修改购物车中所有car的天数
接口功能
在购物车页点击”Proceeding to Checkout“按钮
URL
/changeCarsDays
HTTP请求方式
POST
请求参数
参数
必选
类型
说明
cartCars
true
array
cartCar数组中的每一项都是{id: id, days: days}键值对
id
true
number
car的id
days
true
number
该car租的天数(前端会传>0的数)
cartCars举例:
[{
id: 1,
days: '2'
}, {
id: 2,
days: '10'
}]
返回字段
无
7. 获取购物车总价格
接口功能
在Check Out页面底部显示用户要付的总价格
URL
/getCartTotalPrice
HTTP请求方式
GET
请求参数
无
返回字段
返回字段
字段类型
说明
totalPrice
number
购物车内所有 car单价*数量 相加
8. 下单
接口功能
在Checkout页填写表单内容并传给后端,同时后端将购物车表内容放入订单表,并清空购物车
URL
/checkOutOrder
HTTP请求方式
POST
请求参数
参数
必选
类型
说明
firstName
true
string
First Name
lastName
true
string
Last Name
true
string
Email address
address1
true
string
Address Line 1
address2
true
string
Address Line 2
city
true
string
City
state
true
string
State
postCode
true
string
Post Code
paymentType
true
string
Payment Type(例:VISA)
返回字段
无
9. 获取订单结果
接口功能
在Checkout页下单成功后,跳转的结果页显示用户的姓名、email、订单总额、订单列表
URL
/getResult
HTTP请求方式
GET
请求参数
无
返回字段
返回字段
字段类型
说明
firstName
string
First Name
lastName
string
Last Name
string
Email address
totalPrice
number
订单总金额
orderedCars
array
所有下单的cars组成的数组
orderedCars举例:
和之前的cars比,去掉了id, availability, img,增加了rentalDays
[
{
"category": "sedan",
"brand": "Toyota",
"model": "Camry",
"model_year": "2013",
"mileage": "85364",
"fuel_type": "Petrol",
"seats": "5",
"price_per_day": 240,
"description": "The Toyota Camry is an automobile...",
"rentalDays": 2
},
{
"category": "sedan",
"brand": "Nissan",
"model": "320i",
"model_year": "2015",
"mileage": "36782",
"fuel_type": "Petrol",
"seats": 7,
"price_per_day": 360,
"description": "The Nissan 320i is a compact cross...",
"rentalDays": 10
},
// ......
]