開MySQL 執行 腳本
Python套件記得裝
記得改MySQL密碼 這裡
執行api.py
測試用JSON檔
register
# /user/register , method = POST
{
"password": "passwd",
"username": "alan",
"email": "123@gmail.com"
}
return "User already exist" or "register success"
login
# /user/login , method = POST
{
"email": "123@gmail.com",
"password": "passwd"
}
return User ID or "login failed" or "this email isn't register yet"
Get User Name
# /user/name?id=<int:userId> , method = GET
# ex : /user/name?id=1
return User name or "User not found"
check ShoppingCart
# /cart?userId=<int:userId> , method = GET
# params可選包括 page (int), pageLimit (int)
# ex:/cart/userId=1&page=1
return StoreCard in ShoppingCart likes
{
"items": {
"2": [
{
"cardCategory": "怪獸卡",
"cardDescription": "超猛飛龍毀滅一切",
"cardName": "青眼白龍",
"storeCardId": 1,
"storeCardPrice": 500,
"storeCardQuantity": 10,
"storeCardStatus": "九成新狀態良好"
},
{
"cardCategory": "法術卡",
"cardDescription": "復活墓地一隻怪獸卡到場上",
"cardName": "死者復甦",
"storeCardId": 3,
"storeCardPrice": 40,
"storeCardQuantity": 15,
"storeCardStatus": "九成新狀態良好"
}
]
},
"totalPage": 1
}
Add Card To ShoppingCart
# /cart/add , method = POST
{
"userId" : 1,
"cardId" : 2,
"quantity" : 1
}
return "User not found" or "Card not found" or "added"
remove Card from ShoppingCart
# /cart/remove , method = DELETE
{
"userId":1,
"cardId":2
}
return "User not found" or "Card not found" or "Card not in shopping cart" or "removed"
check Store
# /store?id=<int:storeId> , method = GET
# ex:/store?id=1
return likes
{
"storeID": 1,
"storeName": "Happy Card Store"
}
check ActualCard
# /actualCard?id=<int:cardId> , method = GET
# ex: /actualCard?id=1
return "Card not found" or return ActualCard likes
{
"cardID":1,
"name":"青眼白龍",
"catagory":"怪獸卡",
"description":"超猛飛龍毀滅一切"
}
Add ActualCard
# /actualCard/add , method = POST
{
"name" : "nothing",
"catagory" : "dragon",
"description" : "destory enemy"
}
return "added"
update ActualCard
# /actualCard/update , method = PUT
{
"cardId" : 1,
"name" : "forest elf",
"catagory" : "elf",
"description":"send itself to the tomb"
# 至少包含 name catagory description 其中一項
}
return "Card not found" or "updated"
remove ActualCard
# /actualCard/remove , method = DELETE
{
"cardId":1
}
return "Card not found" or "removed"
check comment from store
# /comment?storeId=<int:storeId>&page=<int:page> , method = GET
# params可選包括 page (int), pageLimit (int)
# ex:/comment?storeId=1&page=1&pageLimit=30
return "Store not found" or return comment likes
{
"items": [
{
"commentID": 1,
"context": "賣家出貨快",
"score": 5,
"userID": 1
}
],
"totalPage": 1
}
Add Comment
# /comment/add , method = POST
{
"storeId":1,
"score" : 5,
"context" : "777",
"userId":1
}
return "Store not found" or "User not found" or "added"
update Comment
# /comment/update , method = PUT
{
"comment_id" : 1
"score" : 5,
"context" : "777"
# 至少包含 score context 其中一項
}
return "Comment not found" or "updated"
remove Comment
# /comment/remove , method = DELETE
{
"comment_id" : 1
}
return "Comment not found" or "removed"
check Order
# /order?id=<int:user_id> , method = GET
# params可選包括 page (int), pageLimit (int)
# ex: /order?id=1&page=1
return "Order not found" or return Order likes
{
"items": {
"101": [ #訂單ID
{
"actualCardID": 4,
"orderQuantity": 4,
"storeCardID": 4,
"storeCardPrice": 500,
"storeID": 1
}
],
"104": [
{
"actualCardID": 2,
"orderQuantity": 1,
"storeCardID": 2,
"storeCardPrice": 15,
"storeID": 3
},
{
"actualCardID": 3,
"orderQuantity": 4,
"storeCardID": 3,
"storeCardPrice": 40,
"storeID": 1
}
]
},
"totalPage": 1
}
add Order
# /order/add , method = POST
{
"userId":1,
"address":"",
"items":{
"2":1,
"3":4
}
}
return orderId
remove Order
# /order/remove , method = DELETE
{
'order_id':1
}
return "Order not found" or "removed"
get StoreCard
# /card?id=<int:cardId> , method = GET
# ex: /card?id=1
return "Card not found" or return StoreCard likes
{
"actaulCardID": 4,
"name": "神聖彗星反射力量",
"price": 500,
"quantity": 10,
"storeCardId": 4,
"storeId": 1,
"storeName": "Happy Card Store"
}
search StoreCard
# /card/search?keyword=<str:keyword> , method = GET
# params可選包括 page (int), pageLimit (int), orderWay (str)(包含 id, name, quantity), ascending(bool)
# ex: /card/search?keyword=卡&orderWay=price&ascending=false
return "no results" or return StoreCard likes
{
"items": [
{
"actaulCardID": 5,
"name": "貪欲之壺",
"price": 15,
"quantity": 20,
"storeCardId": 5,
"storeId": 2,
"storeName": "Change Store"
},
{
"actaulCardID": 3,
"name": "死者復甦",
"price": 40,
"quantity": 15,
"storeCardId": 3,
"storeId": 2,
"storeName": "Change Store"
}
],
"totalPage": 1
}
Search Card in Store
# /card/store?storeId=<int:storeId> , method = GET
# params可選包括 page (int), pageLimit (int), orderWay (str)(包含 id, name, quantity), ascending(bool)
# ex:/card/store?storeId=1&page=1&ascending=true
return likes
{
"items": [
{
"actaulCardID": 13,
"name": "時光回溯",
"price": 500,
"quantity": 10,
"storeCardId": 13,
"storeId": 2,
"storeName": "None"
},
{
"actaulCardID": 11,
"name": "聖光之盾",
"price": 15,
"quantity": 20,
"storeCardId": 11,
"storeId": 2,
"storeName": "None"
},
{
"actaulCardID": 7,
"name": "冰霜巨人",
"price": 500,
"quantity": 10,
"storeCardId": 7,
"storeId": 2,
"storeName": "None"
},
{
"actaulCardID": 5,
"name": "貪欲之壺",
"price": 15,
"quantity": 20,
"storeCardId": 5,
"storeId": 2,
"storeName": "None"
},
{
"actaulCardID": 1,
"name": "青眼白龍",
"price": 500,
"quantity": 10,
"storeCardId": 1,
"storeId": 2,
"storeName": "None"
}
],
"totalPage": 1
}
add StoreCard
# /card/add , method = POST
{
"storeId" : 1,
"price":10,
"status":"9成新",
"quantity":4,
"ACCard_ID": 2
}
return storecardId or "Store not found"
update StoreCard
# /card/update , method = POST
{
"cardId" : 1,
"price":10,
"status":"9成新",
"quantity":4
# 至少包含 price status quantity 其中一個
}
return "Card not found" or "no access" or "updated"
remove StoreCard
# /card/remove , method = POST
{
"cardId":1,
"userId":1
}
return "Card not found" or "no access" or "updated"