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


系列文章:

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

  FastAPI 學習之路(二)

  FastAPI 學習之路(三)

  FastAPI 學習之路(四)

  FastAPI 學習之路(五)

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

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

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

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

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

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

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

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

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

我們可以規定對應請求的狀態碼,那么我們應該如何來實現。在以下任意的接口路徑中使用 status_code 參數來聲明用於響應的 HTTP 狀態碼:

  • @app.get()

  • @app.post()

  • @app.put()

  • @app.delete()

我們可以簡單的看下。

 

from fastapi import FastAPI
app = FastAPI()
@app.post("/items/", status_code=201)
def create_item(name: str):
    return {"name": name}

我們用postman請求下。

 

 

 接口可以正常請求,狀態碼返回的也是我們定義的201。

        在接口文檔上也可以正常展示我們成功的狀態碼

 

 

 對於http的狀態碼,每個數字代表不一樣的含義。

  • 100 及以上狀態碼用於「消息」響應。你很少直接使用它們。具有這些狀態代碼的響應不能帶有響應體。

  • 200 及以上狀態碼用於「成功」響應。這些是你最常使用的。

    • 200 是默認狀態代碼,它表示一切「正常」。

    • 另一個例子會是 201,「已創建」。它通常在數據庫中創建了一條新記錄后使用。

    • 一個特殊的例子是 204,「無內容」。此響應在沒有內容返回給客戶端時使用,因此該響應不能包含響應體。

  • 300 及以上狀態碼用於「重定向」。具有這些狀態碼的響應可能有或者可能沒有響應體,但 304「未修改」是個例外,該響應不得含有響應體。

  • 400 及以上狀態碼用於「客戶端錯誤」響應。這些可能是你第二常使用的類型。

    • 一個例子是 404,用於「未找到」響應。

    • 對於來自客戶端的一般錯誤,你可以只使用 400

  • 500 及以上狀態碼用於服務器端錯誤。你幾乎永遠不會直接使用它們。當你的應用程序代碼或服務器中的某些部分出現問題時,它將自動返回這些狀態代碼之一。

    在fastapi中,你不用去記住每個狀態碼的含義,因為利用fastapi的內置的。我們可以看下。

        

from fastapi import FastAPI,status

 

那我們我們在寫的時候,有對應的狀態碼以及代表的含義。我們可以根據對應的需求,去改變對應的狀態碼。

 

 

 

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


免責聲明!

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



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