這是我參與8月更文挑戰的第1天,活動詳情查看:8月更文挑戰python
顧名思義,FastApi就是一個用於構建高性能api的web框架。web
pip install fastapi[all]
複製代碼
from fastapi import FastAPI
app = FastAPI()
@app.get('/')
async def root():
return {'message':'hello world!'}
複製代碼
uvicorn.exe main:app --reload
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [18784] using statreload
INFO: Started server process [23504]
INFO: Waiting for application startup.
INFO: Application startup complete.
複製代碼
打開 http://127.0.0.1:8000 查看效果api
能夠看到,後臺程序已經成功返回。瀏覽器
from fastapi import FastAPI
import uvicorn
app = FastAPI()
@app.get('/')
async def root():
return {'message':'hello world!'}
if __name__ == "__main__":
uvicorn.run(app='main:app',host='127.0.0.1',port=8765,reload=True,debug=True)
複製代碼
啓動:markdown
python main.py
複製代碼
瀏覽器訪問:127.0.0.1:8765/docs併發
展開看下接口詳細信息app
點擊右側的Try it框架
便可實現接口調試!async
完美!ide
瀏覽器訪問:127.0.0.1:8765/redoc
常常看到有人把 FastAPI 和 Flask 放到一塊兒比較,可是卻沒有意識到這徹底是兩種東西——前者是基於 Web 框架 Starlette 添加了 Web API 功能支持的(框架之上的)框架,然後者是和 Starlette 同類的通用 Web 框架,因此他兩本就不是相同的東西,因此仍是不要強行比較,選擇適合本身的纔是正確的。
至於說FastApi使用了asyncio而使得它的性能提高很大,在我看來沒有網上介紹的那麼誇張。由於在gevent的加持下,其餘web框架也能夠作到很高的併發,何況通常的服務都是會藉助中間件和集羣來實現高併發的,因此對於FastApi的高性能你們仍是理性看待。感興趣的同窗能夠去測試看看實際的結果。
本系列主要是介紹FastApi這個新的web框架,讓你們可以對它有所瞭解,從而合理使用。
至此,FastApi的簡單介紹結束。
感謝您的閱讀,別忘了關注,點贊,評論,轉發四連喲!