44 lines
1.9 KiB
Plaintext
44 lines
1.9 KiB
Plaintext
請產生一支可直接執行的 Flask API 伺服器,需求:
|
||
- 使用 mysql.connector 連線
|
||
|
||
資料庫資訊:
|
||
DB_HOST = mysql.theaken.com
|
||
DB_PORT = 33306
|
||
DB_NAME = db_A027
|
||
DB_USER = A027
|
||
DB_PASSWORD = E1CelfxqlKoj
|
||
|
||
TABLE = employee
|
||
- 路由:
|
||
- GET /v1/employee:支援 ?Id、?main_course、?side_dish、?addon、?is_active,要多回傳 {meta}
|
||
- GET /v1/employee/<id>:找不到回 404
|
||
- POST /v1/employee:接收 JSON {ID,main_course,side_dish,addon,is_active},欄位驗證,成功回 201 並回新資料
|
||
- PATCH /v1/employee/<id>:可更新任一欄位(ID/main_course/side_dish/addon/is_active),成功回 200 回更新後資料
|
||
- DELETE /v1/employee/<id>:成功回 204
|
||
|
||
TABLE = employee_votes
|
||
- 路由:
|
||
- GET /v1/employee_votes:支援 ?Id、?emp_id、?name、?order_date、?menu_item_id、?order_qty,要多回傳 {meta}
|
||
- GET /v1/employee_votes/<id>:找不到回 404
|
||
- POST /v1/employee_votes:接收 JSON {Id,emp_id,name,order_date,menu_item_id,order_qty},欄位驗證,成功回 201 並回新資料
|
||
- PATCH /v1/employee_votes/<id>:可更新任一欄位(Id/emp_id/name/order_date/menu_item_id/order_qty),成功回 200 回更新後資料
|
||
- DELETE /v1/employee_votes/<id>:成功回 204
|
||
|
||
|
||
TABLE = menu_items
|
||
- 路由:
|
||
- GET /v1/menu_items:支援 ?Id、?main_course、?side_dish、?addon、?is_active,要多回傳 {meta}
|
||
- GET /v1/menu_items/<id>:找不到回 404
|
||
- POST /v1/menu_items:接收 JSON {ID,main_course,side_dish,addon,is_active},欄位驗證,成功回 201 並回新資料
|
||
- PATCH /v1/menu_items/<id>:可更新任一欄位(ID/main_course/side_dish/addon/is_active),成功回 200 回更新後資料
|
||
- DELETE /v1/menu_items/<id>:成功回 204
|
||
|
||
|
||
|
||
- 所有寫入請用參數化查詢避免 SQL 注入
|
||
|
||
- 統一格式 { status,code,message,data }
|
||
|
||
- 統一錯誤格式 {status:"error", code, message}
|
||
|
||
- 啟用 CORS(允許本機前端) |