39 lines
1.4 KiB
Plaintext
39 lines
1.4 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 = orders
|
||
- 路由:
|
||
- GET /v1/orders:支援 ?Id、?emp_id、?emp_name、?menu_item_id、?main_course、?order_date、?order_qty,要多回傳 {meta}
|
||
- GET /v1/orders/<id>:找不到回 404
|
||
- POST /v1/orders:接收 JSON {Id,emp_id,emp_name,menu_item_id,main_course,order_date,order_qty},欄位驗證,成功回 201 並回新資料
|
||
- PATCH /v1/orders/<id>:可更新任一欄位(id/emp_id/name/menu_item_id/main_course/order_date/order_qty),成功回 200 回更新後資料
|
||
- DELETE /v1/orders/<id>:成功回 204
|
||
|
||
|
||
TABLE = menu_items
|
||
- 路由:
|
||
- GET /v1/menu_items:支援 ?id、?main_course、?side_dish、?addon、?menu_date,要多回傳 {meta}
|
||
- GET /v1/menu_items/<id>:找不到回 404
|
||
- POST /v1/menu_items:接收 JSON {id,main_course,side_dish,addon,menu_date},欄位驗證,成功回 201 並回新資料
|
||
- PATCH /v1/menu_items/<id>:可更新任一欄位(id/main_course/side_dish/addon/menu_date),成功回 200 回更新後資料
|
||
- DELETE /v1/menu_items/<id>:成功回 204
|
||
|
||
|
||
|
||
|
||
- 所有寫入請用參數化查詢避免 SQL 注入
|
||
|
||
- 統一格式 { status,code,message,data }
|
||
|
||
- 統一錯誤格式 {status:"error", code, message}
|
||
|
||
- 啟用 CORS(允許本機前端) |