从 Flask-RESTful 到 Flask-RESTPlus 再到 Flask-RESTX
Django 和 Flask 一直都是 Python 開(kāi)發(fā) Web 的首選,而 Flask 的微內(nèi)核更適用于現(xiàn)在的云原生微服務(wù)框架。但是 Flask 只是一個(gè)微型的 Web 引擎,所以我們需要擴(kuò)展 Flask 使其發(fā)揮出更強(qiáng)悍的功能。
Flask-RESTful
Flask-RESTful 就是 Flask 擴(kuò)展中的佼佼者,它增加了對(duì)快速構(gòu)建 RESTful API 的支持,將 Flask 封裝了一層,使其更容易、更快速、更便捷的開(kāi)發(fā) RESTful API。
- GitHub:https://github.com/flask-restful/flask-restful
- Docs:https://flask-restful.readthedocs.io/en/latest/
Flask-RESTPlus
我們知道 Flask-RESTful 是 Flask 的擴(kuò)展,而 Flask-RESTPlus 則是 Flask-RESTful 的擴(kuò)展,對(duì) Flask-RESTful 完全兼容且對(duì)其進(jìn)行增強(qiáng)了接口文檔的支持。
Flask-RESTPlus 提供了一個(gè)連貫的裝飾器和工具集合來(lái)描述文檔 API 所需要的參數(shù)和對(duì)象,并使用 Swagger 將其解析成正確的接口文檔。
- GitHub:https://github.com/noirbizarre/flask-restplus
- Docs:https://flask-restplus.readthedocs.io/en/latest/
Flask-RESTX
既然已經(jīng)有了很完美的 Flask-RESTPlus,那為什么還需要 Flask-RESTX 呢?
其實(shí)在很長(zhǎng)時(shí)間中我都一直都在使用 Flask-RESTPlus,但是難受的是作者丟了!沒(méi)錯(cuò),就是物理意義上的丟了,Flask-RESTPlus 這個(gè)項(xiàng)目團(tuán)隊(duì)的成員都找不動(dòng)他了,團(tuán)隊(duì)為了持續(xù)維護(hù)這個(gè)項(xiàng)目只能另開(kāi)一個(gè)分支,將 Flask-RESTPlus 繼續(xù)延續(xù)下去,繼續(xù)延續(xù)后的項(xiàng)目就是 Flask-RESTX。
Flask-RESTX 完全兼容 Flask-RESTPlus,Flask-RESTPlus 項(xiàng)目里積攢的問(wèn)題、BUG 都由 Flask-RESTX 完全繼承并且社區(qū)團(tuán)隊(duì)在積極維護(hù)匯總,我們公司的項(xiàng)目也已全部遷移過(guò)來(lái)了,在此也希望這個(gè)項(xiàng)目能一直好好活著。
- GitHub:https://github.com/python-restx/flask-restx
- Docs:https://flask-restx.readthedocs.io/en/latest/
FastAPI
本來(lái)到 Flask-RESTX 本文就該結(jié)束了,但是我們不能故步自封,就在查這些 Flask 相關(guān)資料的時(shí)候,發(fā)現(xiàn)了一個(gè)新式的 Python Web 框架 FastAPI。
FastAPI 是獨(dú)立于 Flask 的新式 Web 框架,雖然能看到很多 Flask 和相關(guān)擴(kuò)展的影子,但是它也成為不可忽視的 Web 框架之一,而且 FastAPI 還號(hào)稱是最快的Python框架之一。
至于是否會(huì)使用 FastAPI,我目前只作為參考,以為公司的項(xiàng)目遷移起來(lái)代價(jià)太大,大家有興趣的可以去官網(wǎng)看看。
- GitHub:https://github.com/tiangolo/fastapi
- Docs:https://fastapi.tiangolo.com
總結(jié)
以上是生活随笔為你收集整理的从 Flask-RESTful 到 Flask-RESTPlus 再到 Flask-RESTX的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何实现 iOS 短视频跨页面的无痕续播
- 下一篇: 创业者防坑手册:面对强大的资本力量,你该