FastAPI 學習之路(二十)接口文檔配置相關


 系列文章:

  FastAPI 學習之路(一)fastapi--高性能web開發框架

  FastAPI 學習之路(二)

  FastAPI 學習之路(三)

  FastAPI 學習之路(四)

  FastAPI 學習之路(五)

      FastAPI 學習之路(六)查詢參數,字符串的校驗

  FastAPI 學習之路(七)字符串的校驗

    FastAPI 學習之路(八)路徑參數和數值的校驗

  FastAPI 學習之路(九)請求體有多個參數如何處理?

  FastAPI 學習之路(十)請求體的字段

      FastAPI 學習之路(十一)請求體 - 嵌套模型 

    FastAPI 學習之路(十二)接口幾個額外信息和額外數據類型

      FastAPI 學習之路(十三)Cookie 參數,Header參數

    FastAPI 學習之路(十四)響應模型

  FastAPI 學習之路(十五)響應狀態碼

    FastAPI 學習之路(十六)Form表單

     FastAPI 學習之路(十七)上傳文件

     FastAPI 學習之路(十八)表單與文件

  FastAPI 學習之路(十九)處理錯誤

我們都知道,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}

我們可以接口文檔的展示

 

 

文章首發在公眾號,歡迎關注。


免責聲明!

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



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