大家好锁蠕,這里是
米洛
,一個想和大家一起分享測試開發(fā)相關(guān)的技術(shù)邦尊,面試經(jīng)驗和成長經(jīng)歷的博主瘩缆!
歡迎大家關(guān)注我的公眾號: 測試開發(fā)坑貨
关拒。
FastApi簡介
官網(wǎng)地址: https://fastapi.tiangolo.com/zh/
FastApi
是最近(具體啥時候開始我也不知道)很火的一個Python web框架
,其實我對他了解也不夠多,那咱們來看看他的官方文檔吧夏醉。
基本上可以瞅到幾個關(guān)鍵字爽锥,一馬當(dāng)先的就是快。那么她有多快呢畔柔,這邊寫到了Go
氯夷,我本身呢是個go語言使用者,身上隨身帶個if err != nil
靶擦,很合邏輯吧腮考!
其他的咱們都可以不用看,那都是虛的玄捕,其實我就想知道這玩意有多快
踩蔚。是不是真的和他標(biāo)榜的那樣,和go肩并肩枚粘。
試水
所以我開始了自己的一次嘗試,昨天晚上我特意搭建了一個FastApi服務(wù)馍迄,跑了跑。雖然我本身沒用過django暴凑,但是大概也知道django的全面,各個組件應(yīng)有盡有赘来,簡直就是精裝修现喳,拎包入住即可
。那FastApi呢嗦篱?測試開發(fā)干貨群
的大佬們形容他是毛坯中的毛坯忧风,意思是啥組件都需要自己寫默色,核心庫比不上Flask多,更別說django了狮腿,django腿宰,yyds!
但是我本身對于新鮮事物還是很好奇的吃度,所以就忍不住體驗了一把贴硫。如果這是一篇測評文章的話椿每,那我的測評進度可能才到5%,不過就算是這樣亦渗,我也覺得FastApi應(yīng)當(dāng)是一款不錯的web框架汁尺。
愛之初體驗
- 安裝fastapi
pip install fastapi
- 安裝uvicorn
pip install uvicorn
- 新建一個main.py
from typing import Optional
from fastapi import FastAPI
from pydantic import BaseModel
class Item(BaseModel):
name: int
description: Optional[str] = None
price: float
tax: Optional[float] = None
app = FastAPI()
@app.post("/items/")
async def create_item(item: Item):
return item
整體風(fēng)格有點像Flask
,所以上手比較快痴突。這個可能也是我想試試的原因之一。上面的class定義了接受的參數(shù)帮碰,以往我們用flask接受參數(shù)的話一般用request.get_data()或者get_json()
拾积,其實我寫慣了go之后還是很不習(xí)慣的,因為我還是認(rèn)為對象
比字典
好使拓巧,而且這個item
對象實現(xiàn)了dict()方法,也可以隨時轉(zhuǎn)為dict。說句實話摘符,這點確實方便。
- 在main.py同級目錄啟動服務(wù)
uvicorn main:app --reload
--reload
參數(shù)指的是熱更新部署瘩绒,意思是可以在代碼發(fā)生變動的時候自動重啟服務(wù)带族,使得代碼生效。
方便還是挺方便的阳堕。
看看控制臺
長的是喜歡的樣子择克!假設(shè)我更新下代碼:
可以看到服務(wù)自動reload了。這點還挺方便的~
計劃
計劃是把現(xiàn)有的Flask
改為FastApi
壹堰,趁著項目還小
,行動起來贱纠。有一起學(xué)習(xí)的小伙伴們,麻煩加我一下惠桃!我們一起學(xué)懊渡!如果不想學(xué)的就幫我點個贊吧,希望你不要不識抬舉
剃执!(狗頭保命)