FastAPI框架快速構建高性能的api服務


https://cloud.tencent.com/developer/article/1431448

 

使用FastAPI可以非常快速的構建出一套高性能的api服務。下面通過實戰演示一下:

fastapi目前僅支持python 3.6+以上版本。

一、安裝fastapi和uvicorn

pip install fastapi
pip install uvicorn

二、新建一個main.py文件,編寫如下代碼

from fastapi import FastAPI app = FastAPI() @app.get("/") def read_root(): return {"Hello": "World"} @app.get("/items/{item_id}") def read_item(item_id: int, q: str = None): return {"item_id": item_id, "q": q}

三、運行接口服務

在命令行,執行下面的命令

uvicorn main:app --reload

四、請求接口

運行成功后在瀏覽器打開http://127.0.0.1:8000 ,你將在一個JSON格式響應結果:

{'hello':'world'}

再次在瀏覽器打開http://127.0.0.1:8000/items/5?q=somequery,你將在一個如下JSON格式響應結果:

{'item_id':5,'q':'somequery'}

五、可視化API文檔

現在在瀏覽器中打開http://127.0.0.1:8000/docs,你會看到一個可以交互的api文檔

 

 

你也可以其他方法的裝飾器:

  • @app.post()
  • @app.put()
  • @app.delete()

還有一些比較少見的方法的裝飾器:

  • @app.options()
  • @app.head()
  • @app.patch()
  • @app.trace(


建議

你可以使用任意的HTTP方法.

FastAPI不強制任何特定函數。

此處提供的信息,僅供參考,並非必需。

例如,當使用 GraphQL , 你通常會只執行post方法

 

總結

  • Import FastAPI.
  • 創建一個 app 實例.
  • 編寫一個 路徑操作裝飾器 (比如@app.get("/")).
  • 編寫一個路徑操作函數 (比如上方的 def root(): ... ).
  • 運行開發服務器(比如uvicorn main:app --reload).

 

 

文檔: https://fastapi.tiangolo.com/

https://www.jianshu.com/p/daf9150c0466


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM