一、為什么選擇 Flask???
輕量級 :最小核心,自由組合擴展
生態豐富 :SQLAlchemy、Marshmallow、JWT 等插件即插即用
開發友好 :自動重載、調試器、簡潔路由裝飾器
生產就緒 :Gunicorn + Nginx 輕松部署
二、環境準備 & 項目骨架 ??
# 1. 創建虛擬環境
python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
# 2. 安裝 Flask
pip install flask
??? 寫完依賴別忘了跑「代碼優化 」提示詞,一鍵診斷慢查詢與重復請求,讓接口響應提速 30 %!
目錄結構:
flask_books_api/
├── app.py
└── venv/
三、Hello Flask —— 最小可運行實例 ?
# app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return {"message": "你好,世界!"}
if __name__ == '__main__':
app.run(debug=True)
啟動:
python app.py
# 瀏覽器訪問 http://127.0.0.1:5000
四、RESTful 設計 & HTTP 方法回顧 ??
方法
語義
示例端點
用途
GET
讀取
/books
獲取集合
POST
創建
/books
新增資源
PUT
全量更新
/books/:title
替換資源
DELETE
刪除
/books/:title
刪除資源
五、實現 CRUD —— 以“圖書”為例 ??
① 內存數據模型
books = []
② GET /books —— 獲取全部
from flask import jsonify
@app.route('/books', methods=['GET'])
def get_books():
return jsonify({'books': books})
③ POST /books —— 新增圖書
from flask import request
@app.route('/books', methods=['POST'])
def add_book():
new_book = request.get_json()
books.append(new_book)
return jsonify({'message': '書籍添加成功!'}), 201
④ PUT /books/ —— 更新圖書
@app.route('/books/<string:title>', methods=['PUT'])
def update_book(title):
for book in books:
if book['title'] == title:
book['author'] = request.json.get('author', book['author'])
book['read'] = request.json.get('read', book['read'])
return jsonify({'message': '書籍更新成功!'})
return jsonify({'message': '書籍未找到!'}), 404
⑤ DELETE /books/ —— 刪除圖書
@app.route('/books/<string:title>', methods=['DELETE'])
def delete_book(title):
global books
books = [b for b in books if b['title'] != title]
return jsonify({'message': '書籍刪除成功!'})
六、Postman 測試全流程 ??
POST 添加書
URL: http://127.0.0.1:5000/books
Body (JSON):
{
"title": " Flask 入門",
"author": "李雷",
"read": true
}
? 返回 201 + 成功消息
GET 查詢全部
? 返回書籍列表
PUT 修改作者
URL: http://127.0.0.1:5000/books/Flask%20入門
Body:
{
"author": "韓梅梅",
"read": false
}
DELETE 刪除
? 返回成功提示
?? 想給前端同事一份秒懂的接口文檔?「代碼文檔生成器 」可自動生成標準化字段描述、請求/響應示例與錯誤碼,讓協作零阻力!
七、進階:分頁、異常處理、藍圖(Bonus)?
from flask import abort, Blueprint
api_bp = Blueprint('books', __name__, url_prefix='/api/v1')
@api_bp.route('/books')
def get_books_paged():
page = int(request.args.get('page', 1))
limit = int(request.args.get('limit', 5))
start = (page-1)*limit
return jsonify(books[start:start+limit])
@api_bp.errorhandler(404)
def resource_not_found(e):
return jsonify(error=str(e)), 404
# 在工廠函數注冊藍圖
app.register_blueprint(api_bp)
八、常見疑問 ?
Q1. 如何切換成數據庫?
→ 使用 SQLAlchemy + Flask-Migrate,模型替換內存列表即可
Q2. 如何實現 JWT 登錄?
→ 安裝 PyJWT,登錄后返回 token,后續請求在 Header 攜帶 Authorization: Bearer <token>
Q3. 怎樣寫單元測試?
→ 使用 pytest 或內置 unittest,利用 app.test_client() 模擬請求
?? 上線前最后一步:跑「代碼審查助手 」,自動捕捉潛在漏洞、性能隱患與風格問題,給出可執行反饋,確保 API 穩如磐石!
九、總結 & 下一步 ??
通過本教程,你已掌握:
? Flask 環境搭建與最小運行實例
? GET/POST/PUT/DELETE 全棧實現
? Postman 手動測試流程
? 藍圖、異常處理、分頁等進階技巧
先用「代碼生成 」快速產出 SDK 與錯誤重試邏輯,再用 KPI 面板持續監控接口延遲、測試覆蓋率與線上錯誤率,你的 Flask API 將更快、更穩地搶占市場 ??!
原文鏈接: https://infinitysofthint.com/blog/build-powerful-rest-api-with-flask/
熱門推薦
一個賬號試用1000+ API
助力AI無縫鏈接物理世界 · 無需多次注冊
免費開始試用 →
3000+提示詞助力AI大模型
和專業工程師共享工作效率翻倍的秘密
国内精品久久久久影院日本,日本中文字幕视频,99久久精品99999久久,又粗又大又黄又硬又爽毛片
日本韩国欧美一区二区三区 |
国产精品嫩草影院com |
精品一区二区三区在线观看 |
欧美在线免费观看视频 |
国产日韩精品一区二区三区在线 |
亚洲精品第一国产综合野 |
91精品国产综合久久精品性色 |
亚洲精品中文字幕乱码三区 |
国产盗摄女厕一区二区三区 |
精品日韩欧美在线 |
国产自产2019最新不卡 |
99久久亚洲一区二区三区青草
|
欧美在线免费观看亚洲 |
日韩欧美成人午夜 |
国产乱子轮精品视频 |
精品少妇一区二区三区在线播放
|
亚洲美女视频一区 |
色8久久人人97超碰香蕉987 |
亚洲另类在线视频 |
欧美久久久久久蜜桃 |
日韩av在线播放中文字幕 |
日韩欧美在线影院 |
久久这里只有精品首页 |
91网址在线看 |
亚洲国产另类精品专区 |
91精品国产aⅴ一区二区 |
国产精品自产自拍 |
1024成人网 |
欧美日高清视频 |
国产69精品久久久久毛片 |
欧美一区二区精品 |
国产成人综合亚洲网站 |
亚洲精品日韩综合观看成人91 |
在线日韩av片 |
成人免费毛片片v |
亚瑟在线精品视频 |
久久精品水蜜桃av综合天堂 |
欧美久久一二区 |
国产成人精品一区二 |
亚洲国产精品一区二区www |
中文字幕国产一区 |
欧美日本精品一区二区三区 |
粉嫩久久99精品久久久久久夜 |
久久九九久久九九 |
欧美熟乱第一页 |
成人性生交大片免费看在线播放 |
亚洲综合在线视频 |
国产精品蜜臀在线观看 |
日韩欧美二区三区 |
色菇凉天天综合网 |
欧美久久一区二区 |
91蜜桃在线免费视频 |
黄页网站大全一区二区 |
天天操天天干天天综合网 |
综合久久久久综合 |
久久久综合视频 |
91精品国产免费久久综合 |
91片黄在线观看 |
国产成人av一区 |
久久爱www久久做 |
1000部国产精品成人观看 |
国产精品美女久久久久高潮 |
精品国免费一区二区三区 |
91精品久久久久久蜜臀 |
日韩一级高清毛片 |
欧美一级高清片在线观看 |
欧美日韩一级黄 |
欧美成人高清电影在线 |
久久综合色一综合色88 |
精品欧美一区二区久久
|
中文字幕免费一区 |
久久新电视剧免费观看 |
精品国产一区a |
国产精品高清亚洲 |
亚洲精品免费在线播放 |
一区二区三区免费网站 |
亚洲成av人片在线观看 |
天天操天天综合网 |
免费精品视频在线 |
国产suv精品一区二区883 |
丰满少妇在线播放bd日韩电影 |
国产老妇另类xxxxx |
成人av片在线观看 |
欧美亚洲一区二区在线 |
日韩色在线观看 |
亚洲精品高清在线 |
日韩成人精品视频 |
丝袜a∨在线一区二区三区不卡 |
乱中年女人伦av一区二区 |
国产一区二区三区日韩 |
在线观看视频一区二区欧美日韩 |
69久久夜色精品国产69蝌蚪网 |
欧美一区二区三区思思人 |
欧美国产精品中文字幕 |
亚洲乱码国产乱码精品精98午夜 |
国产精品久久毛片a |
另类调教123区 |
91亚洲男人天堂 |
精品国产露脸精彩对白
|
成人动漫一区二区三区 |
欧美区在线观看 |
国产女人18水真多18精品一级做 |
中文字幕一区三区 |
久久99精品久久久久久久久久久久
|
亚洲一区二区三区四区五区中文
|
另类小说一区二区三区 |
99r精品视频 |
26uuu国产电影一区二区 |
国产女人水真多18毛片18精品视频 |
亚洲视频每日更新 |
伊人夜夜躁av伊人久久 |
国产一区二区三区综合 |
不卡一区在线观看 |
精品国产91乱码一区二区三区 |
亚洲精品久久嫩草网站秘色 |
国产精品性做久久久久久 |
欧美变态tickle挠乳网站 |
久久精品夜色噜噜亚洲aⅴ |
国产精品一区一区 |
亚洲精品一区二区三区福利 |
一区二区三区成人 |
99久久婷婷国产精品综合 |
国产日韩欧美精品在线 |
国产欧美日韩不卡 |
国产91丝袜在线观看 |
国产清纯美女被跳蛋高潮一区二区久久w
|
555夜色666亚洲国产免 |
一二三区精品视频 |
欧美天堂一区二区三区 |
亚洲精选视频在线 |
国产在线视频一区二区三区 |
精品少妇一区二区三区免费观看 |
成人午夜短视频 |
最新不卡av在线 |
国产在线看一区 |
久久久.com |
99久久er热在这里只有精品66 |
欧美肥妇free |
一区二区三区在线视频免费观看 |
国产99精品在线观看 |
国产精品家庭影院 |
色久综合一二码 |
男女性色大片免费观看一区二区 |
欧美电视剧免费观看 |
丁香婷婷深情五月亚洲 |
亚洲日本一区二区 |
91精品国产色综合久久不卡蜜臀
|
精彩视频一区二区 |
久久久www免费人成精品 |
久久精品国产免费看久久精品 |
欧美v国产在线一区二区三区 |
国产成人啪免费观看软件 |
欧美成va人片在线观看 |
av电影在线观看一区 |
天天综合日日夜夜精品 |
欧美一区二区网站 |
精一区二区三区 |
亚洲精品日韩综合观看成人91 |
激情六月婷婷综合 |
亚洲欧美在线视频观看 |
日韩毛片视频在线看 |
不卡大黄网站免费看 |
精品少妇一区二区三区日产乱码 |
欧美三级视频在线观看 |
91久久国产最好的精华液 |
久久久99久久精品欧美 |
欧美一区二区大片 |
久久久激情视频 |
国产日韩成人精品 |
欧美一区二区三区系列电影 |
欧美老女人在线 |
久久蜜桃香蕉精品一区二区三区 |
欧美激情一区在线观看 |
亚洲欧美偷拍三级 |
自拍偷拍亚洲欧美日韩 |
亚洲国产一区二区在线播放 |
日本韩国欧美三级 |
制服丝袜中文字幕亚洲 |
久久精品欧美一区二区三区麻豆 |
亚洲国产岛国毛片在线 |
99精品久久久久久 |
国产高清成人在线 |
欧美撒尿777hd撒尿 |
国产午夜久久久久 |
极品美女销魂一区二区三区免费
|
国产91在线观看 |
国产精品毛片无遮挡高清 |
亚洲欧美日韩在线 |
成人免费看片app下载 |
欧美视频中文一区二区三区在线观看 |
久久久久久久久久电影 |
欧美在线一二三 |
国产精品久久二区二区 |
国产麻豆精品95视频 |
秋霞国产午夜精品免费视频 |
色噜噜偷拍精品综合在线 |
美日韩一区二区 |
国产精品精品国产色婷婷 |
国产91精品久久久久久久网曝门
|
久久综合久久鬼色 |