国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

APIStar:一個(gè)專為Python3設(shè)計(jì)的API框架

2020-02-15 23:04:34
字體:
供稿:網(wǎng)友

為了在 Python 中快速構(gòu)建 API,我主要依賴于 Flask 。最近我遇到了一個(gè)名為 “API Star” 的基于 Python 3 的新 API 框架。由于幾個(gè)原因,我對(duì)它很感興趣。首先,該框架包含 Python 新特點(diǎn),如類型提示和 asyncio。而且它再進(jìn)一步為開發(fā)人員提供了很棒的開發(fā)體驗(yàn)。我們很快就會(huì)講到這些功能,但在我們開始之前,我首先要感謝 Tom Christie,感謝他為 Django REST Framework 和 API Star 所做的所有工作。

現(xiàn)在說回 API Star —— 我感覺這個(gè)框架很有成效。我可以選擇基于 asyncio 編寫異步代碼,或者可以選擇傳統(tǒng)后端方式就像 WSGI 那樣。它配備了一個(gè)命令行工具 —— apistar 來幫助我們更快地完成工作。它支持 Django ORM 和 SQLAlchemy,這是可選的。它有一個(gè)出色的類型系統(tǒng),使我們能夠定義輸入和輸出的約束,API Star 可以自動(dòng)生成 API 的模式(包括文檔),提供驗(yàn)證和序列化功能等等。雖然 API Star 專注于構(gòu)建 API,但你也可以非常輕松地在其上構(gòu)建 Web 應(yīng)用程序。在我們自己構(gòu)建一些東西之前,所有這些可能都沒有意義的。

開始

我們將從安裝 API Star 開始。為此實(shí)驗(yàn)創(chuàng)建一個(gè)虛擬環(huán)境是一個(gè)好主意。如果你不知道如何創(chuàng)建一個(gè)虛擬環(huán)境,不要擔(dān)心,繼續(xù)往下看。

pip install apistar

(上面的命令是在 Python3 虛擬環(huán)境下使用的)

如果你沒有使用虛擬環(huán)境或者你的 Python 3 的 pip 名為 pip3,那么使用 pip3 install apistar 代替。

一旦我們安裝了這個(gè)包,我們就應(yīng)該可以使用 apistar 命令行工具了。我們可以用它創(chuàng)建一個(gè)新項(xiàng)目,讓我們?cè)诋?dāng)前目錄中創(chuàng)建一個(gè)新項(xiàng)目。

apistar new .

現(xiàn)在我們應(yīng)該創(chuàng)建兩個(gè)文件:app.py,它包含主應(yīng)用程序,然后是 test.py,它用于測(cè)試。讓我們來看看 app.py 文件:

from apistar import Include, Routefrom apistar.frameworks.wsgi import WSGIApp as Appfrom apistar.handlers import docs_urls, static_urlsdef welcome(name=None):if name is None:return {'message': 'Welcome to API Star!'}return {'message': 'Welcome to API Star, %s!' % name}routes = [Route('/', 'GET', welcome),Include('/docs', docs_urls),Include('/static', static_urls)]app = App(routes=routes)if __name__ == '__main__':app.main()

在我們深入研究代碼之前,讓我們運(yùn)行應(yīng)用程序并查看它是否正常工作。我們?cè)跒g覽器中輸入 http://127.0.0.1:8080/,我們將得到以下響應(yīng):

{"message": "Welcome to API Star!"}

如果我們輸入:http://127.0.0.1:8080/?name=masnun

{"message": "Welcome to API Star, masnun!"}

同樣的,輸入 http://127.0.0.1:8080/docs/,我們將看到自動(dòng)生成的 API 文檔。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宝清县| 江山市| 康乐县| 南部县| 阿勒泰市| 正定县| 拜城县| 扶沟县| 灵寿县| 珲春市| 平罗县| 古丈县| 永吉县| 中牟县| 汕尾市| 犍为县| 金昌市| 两当县| 玉龙| 中西区| 邵武市| 黔东| 惠东县| 萝北县| 凤凰县| 子长县| 于都县| 当雄县| 思茅市| 海安县| 蒲江县| 赤城县| 康定县| 竹山县| 通化市| 海丰县| 廊坊市| 雷州市| 色达县| 康乐县| 巴林右旗|