系列文章:
FastAPI 學習之路(一)fastapi--高效能web開發框架
FastAPI 學習之路(十二)介面幾個額外資訊和額外資料型別
FastAPI 學習之路(十三)Cookie 引數,Header引數
我們都知道,fastApi給我們提供了介面文件,在我們的實際開發中,我們會有很多的介面,有些介面需要分組,比如我們對於登入註冊相關的模組,可以統一放在登入,那麼我們如何實現劃分呢。
from fastapi import FastAPI app = FastAPI() @app.post("/login/", tags=["login"]) def login(username: str,password:str): if username == "leizi" and password=="123": return "success" return {"name": username} @app.post("/regin/", tags=["login"]) def regin(username: str,password:str): return {"name": username}
我們看下,介面文件
可以看到,我們實現的登入的模組是成功的。
我們來看下,如何對介面增加一個簡單的描述
from fastapi import FastAPI app = FastAPI() @app.post("/login/", tags=["login"],description="這是登入模組") def login(username: str,password:str): if username == "leizi" and password=="123": return "success" return {"name": username} @app.post("/regin/", tags=["login"]) def regin(username: str,password:str): return {"name": username}
我們看下介面
如果我們想要把所有的註釋以給讀取出來,然後展示在描述中,fastapi也給我們做了很好的封裝,我們可以簡單的看下程式碼
from fastapi import FastAPI app = FastAPI() @app.post("/login/", tags=["login"],summary="這是登入模組") def login(username: str,password:str): """ 登入 - param username: 使用者名稱 - param password: 密碼 - return: 返回是否成功 """ if username == "leizi" and password=="123": return "success" return {"name": username} @app.post("/regin/", tags=["login"]) def regin(username: str,password:str): return {"name": username}
我們看下最後的實現的效果
如果我們要標註介面啟用怎麼實現呢
from fastapi import FastAPI app = FastAPI() @app.post("/login/", tags=["login"],summary="這是登入模組") def login(username: str,password:str): """ 登入 - param username: 使用者名稱 - param password: 密碼 - return: 返回是否成功 """ if username == "leizi" and password=="123": return "success" return {"name": username} @app.post("/regin/", tags=["login"],deprecated=True) def regin(username: str,password:str): return {"name": username}
我們可以介面文件的展示
文章首發在公眾號,歡迎關注。