1. 程式人生 > 其它 >FastAPI 學習之路(十五)響應狀態碼

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

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

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