亚洲熟女综合色一区二区三区,亚洲精品中文字幕无码蜜桃,亚洲va欧美va日韩va成人网,亚洲av无码国产一区二区三区,亚洲精品无码久久久久久久

用Python構(gòu)建API的八大流行框架

本文將和您討論八種可將API的開發(fā)過程變得簡單且快捷的Python框架。其中,Hug和Eve等框架更適合于小型項(xiàng)目,而Django、Flask和Falcon則適合于大型的應(yīng)用程序。
憑借著平緩的學(xué)習(xí)曲線和簡單直接的語法,Python在全球范圍內(nèi)的受歡迎程度,正在呈指數(shù)級(jí)增長。該編碼語言往往可以被用于Web開發(fā)、軟件開發(fā)、數(shù)學(xué)計(jì)算、系統(tǒng)腳本、以及幾乎所有其他的領(lǐng)域。作為開發(fā)人員的首選語言,人們除了得益于它的跨平臺(tái)兼容性和代碼的壓縮能力,還可以通過Python框架,創(chuàng)建出強(qiáng)大的應(yīng)用程序編程接口(API)。

什么是API?

API可謂互聯(lián)網(wǎng)上所有其他平臺(tái)背后的引擎。它們可以協(xié)助不同的應(yīng)用程序,在后臺(tái)相互通信,并保持彼此的聯(lián)系。您可以想象自己在一家餐廳里,手里拿著一份后廚可以烹制的所有菜肴的菜單。那么,接單系統(tǒng)在接受到您的訂單后,會(huì)將其傳遞給后端進(jìn)行處理。后臺(tái)完成后,系統(tǒng)會(huì)從后端獲取“烹飪好的食物”并發(fā)送給用戶。這便是API的基本作用:幫助用戶和系統(tǒng)進(jìn)行溝通。
下面,讓我們來看看八種可用于構(gòu)建API的優(yōu)秀Python框架:

1.?Django REST

用Python構(gòu)建API的八大流行框架
Django REST為開發(fā)人員提供了豐富的功能與選擇。其中,Representational State Transfer(REST)是一種基于Web的架構(gòu)系統(tǒng),可用于數(shù)據(jù)通信。REST的功能包括:一組可瀏覽的Web API、多個(gè)簡化了的API開發(fā)過程、以及內(nèi)置的身份驗(yàn)證策略。我們可以使用單個(gè)PIP命令,來輕松地安裝Django REST。當(dāng)然,在安裝Django REST之前,請(qǐng)確保在您的系統(tǒng)上已安裝了Python 3.5或更高的版本。
Django REST不但可以提供便捷的ORM和非ORM源的序列化功能,而且該框架受到了 Red Hat、Mozilla和Heroku等流行組織的信任,以及各大活躍社區(qū)開發(fā)人員的持續(xù)支持。

2.?Flask Restful

用Python構(gòu)建API的八大流行框架
顧名思義,F(xiàn)lask Restful是為了簡化和加速API開發(fā)過程,而量身定制的。作為輕量級(jí)的Python框架,它只需要幾個(gè)命令,就可以完成API的構(gòu)建??梢哉f,作為公認(rèn)的API工具,F(xiàn)lask能提供直接易用的API開發(fā)體驗(yàn)。此外,F(xiàn)lask相對(duì)于格式化的字段模塊、以及marshal_with()裝飾器(decorator)等數(shù)據(jù)字段,也非常方便。
作為一個(gè)帶有各種常見API特性的全棧式Python框架工具,F(xiàn)lask通過使用representation()裝飾器,提供了諸如:XML、CSV和HTML多種數(shù)據(jù)的表示。
當(dāng)然,你若想流暢地運(yùn)行Flask,則需要在自己的機(jī)器上,事先安裝好PyPy 2.7、或 Python 3.5及其更高的版本。

3.?Falcon

用Python構(gòu)建API的八大流行框架
作為開發(fā)人員的首選工具,F(xiàn)alcon可以被用來創(chuàng)建快速且高性能的API。它符合WSGI(Web服務(wù)器網(wǎng)關(guān)接口,Python Web Server Gateway Interface),能夠與多個(gè)服務(wù)器和平臺(tái)相兼容,而且可以通過其面向?qū)ο?、和基于類的界面,給用戶帶來無縫的轉(zhuǎn)換體驗(yàn)。
Falcon使用HTTP和REST架構(gòu),來協(xié)助創(chuàng)建用戶友好的設(shè)計(jì)。其REST框架通過提供開發(fā)調(diào)試器,來全面地簡化了開發(fā)過程。而且,此類調(diào)試器能夠與其內(nèi)置的服務(wù)器實(shí)現(xiàn)良好的配合與協(xié)同。
此外,與其他框架不同的是,F(xiàn)alcon的安裝過程不但非常簡單、直接,并且?guī)缀醪恍枰脩舻娜斯じ深A(yù)。

4.?Connexion

用Python構(gòu)建API的八大流行框架
Connexion能夠自動(dòng)處理HTTPS,并使用OpenAPI的各項(xiàng)規(guī)范。也就是說,您既可以基于Python代碼生成API規(guī)范,又可以遵從OpenAPI規(guī)范,采取不同的路線。當(dāng)然,您必須以YAML格式編寫OpenAPI規(guī)范,然后映射到Python功能函數(shù)的各個(gè)端點(diǎn)上,以實(shí)現(xiàn)對(duì)請(qǐng)求及其端點(diǎn)的自動(dòng)驗(yàn)證。
Connexion能夠使用OAuth 2的授權(quán)類型,來處理基于令牌的身份驗(yàn)證。它既自帶有Web Swagger Console UI,又允許用戶調(diào)用某個(gè)API的端點(diǎn)。此外,Connexion框架還包含有:API版本控制、有效負(fù)載的自動(dòng)序列化等其他方便的功能。

5.?FastAPI

用Python構(gòu)建API的八大流行框架
顧名思義,F(xiàn)astAPI是用于構(gòu)建API的最快Python框架之一。根據(jù)用戶的反饋,它可以將開發(fā)的速度提高200-300%。目前,F(xiàn)astAPI被廣泛地用于構(gòu)建異步類型的Web應(yīng)用,并得到了200多名社區(qū)貢獻(xiàn)者的支持。
該Web框架不但能夠使得開發(fā)過程變得快速且簡單,還可以提供諸如:交互式API文檔和重復(fù)性代碼消除等,大量成熟的功能。由于是基于Python,因此該框架能將錯(cuò)誤率減少約40%。
在FastAPI中,您也可以使用VSCode和PyCharm之類,常見編輯器的自動(dòng)完成功能。此外,F(xiàn)astAPI框架還具有不限插件支持、以及集成化的安全協(xié)議等不錯(cuò)的特性。

6.Hug

用Python構(gòu)建API的八大流行框架
秉承著“一次編寫,隨處使用”理念的Hug,能夠方便用戶創(chuàng)建高效的API、本地包和CLI,并將其使用到代碼中的任何地方。Hug的高速性能,源于它采用Cython進(jìn)行編譯,以及僅在必要時(shí)使用資源。
目前,Hug能夠支持Python 3,您可以使用單個(gè)PIP命令去安裝它。同時(shí),Hug擁有業(yè)內(nèi)最好的API文檔。您可以使用內(nèi)置的hug.test模塊,去測(cè)試API的完整Python棧。

7.?Eve

用Python構(gòu)建API的八大流行框架
Eve的靈感來自Flask和Cerberus,并吸取了兩者的精華。該工具專為那些需要讓API的開發(fā)過程變得簡單、快速和高效的用戶,而量身定制。因此,該框架不但非常適合高效地創(chuàng)建中型的Web服務(wù),而且提供了可定制的端點(diǎn)、分頁、排序、以及過濾等功能。
總的說來,您在獲得其開箱即用的數(shù)據(jù)驗(yàn)證支持的同時(shí),還能調(diào)用Eve的身份驗(yàn)證、緩存、速率限制等高級(jí)功能。同時(shí),該工具也增加了對(duì)于全方位的CRUD操作、以及跨源資源共享(CORS)功能的廣泛支持。此外,您還可以輕松地將Eve與SQL數(shù)據(jù)庫、MongoDB、Elasticsearch、以及Neo4js相集成。

8.?Cornice

用Python構(gòu)建API的八大流行框架
作為基于REST的Pyramid框架,Cornice為構(gòu)建和記錄基于REST的Web服務(wù),提供了各種幫助。當(dāng)然,它也可以為各種服務(wù)添加跨域資源共享(CORS)的支持。由于Cornice能夠自動(dòng)使用HTTP規(guī)范,因此Pyramid可以根據(jù)應(yīng)用程序的需要,自行進(jìn)行擴(kuò)展。例如,它可以使用Pyramid的ACL進(jìn)行認(rèn)證授權(quán),并在驗(yàn)證過程中發(fā)現(xiàn)無效的數(shù)據(jù),進(jìn)而觸發(fā)400類型的錯(cuò)誤。
此外,該框架還允許您使用命令行Python工具—Tox,進(jìn)行各種自動(dòng)化測(cè)試。

小結(jié)

可以說,API在我們使用的各種互聯(lián)網(wǎng)服務(wù)中持續(xù)發(fā)揮著重要的作用。上文我們討論了八種Python框架,都能夠?qū)PI的開發(fā)過程變得簡單且快捷。其中,Hug和Eve等框架更適合于小型項(xiàng)目,而Django、Flask和Falcon則適合于大型的應(yīng)用程序。

文章轉(zhuǎn)載:Python編程學(xué)習(xí)圈
(版權(quán)歸原作者所有,侵刪)

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開發(fā)專業(yè)人才培訓(xùn)機(jī)構(gòu)!