首頁  >  文章  >  後端開發  >  如何在 FastAPI 中使用自訂頁面處理 404 回應?

如何在 FastAPI 中使用自訂頁面處理 404 回應?

Patricia Arquette
Patricia Arquette原創
2024-10-24 02:08:29867瀏覽

How to Handle 404 Responses with Custom Pages in FastAPI?

在FastAPI 中使用自訂頁面處理404 回應

在FastAPI 中使用自訂頁面處理404 回應

簡介

FastAPI 是一個受歡迎的簡介Python Web 框架,它提供了建構API 的乾淨高效的方法。使用 Web 應用程式時的常見要求是能夠自訂在找不到請求的資源(404 Not Found)時傳回的回應。本文將引導您完成使用 FastAPI 建立自訂 404 頁面的過程。

使用自訂回應處理程序

處理 404 回應的一種方法是使用自訂異常處理程序。 FastAPI 可讓您註冊可以攔截和處理特定例外狀況的自訂例外處理程序。在我們的例子中,我們可以為 404 狀態代碼建立一個異常處理程序並傳回自訂回應。
<code class="python">from fastapi.exceptions import HTTPException
from fastapi.responses import HTMLResponse

@app.exception_handler(404)
async def not_found_handler(request: Request, exc: HTTPException):
    return HTMLResponse("<h1>Not Found</h1><p>The requested resource could not be found.</p>", status_code=404)</code>

以下是如何建立自訂404 回應處理程序的範例:

使用中間件

處理404 回應的另一個選項是使用中間件。中間件是在每個請求-回應週期之前和之後運行的函數。在我們的例子中,我們可以使用中間件來檢查 404 回應並傳回自訂回應。
<code class="python">from fastapi import Request, Response, status
from fastapi.responses import HTMLResponse

@app.middleware(&quot;http&quot;)
async def handle_404(request: Request, call_next):
    response = await call_next(request)
    if response.status_code == status.HTTP_404_NOT_FOUND:
        return HTMLResponse("<h1>Not Found</h1><p>The requested resource could not be found.</p>")
    return response</code>

以下是如何建立中間件來處理404 回應的範例:

注意:需要注意的是,如果您同時使用自訂回應處理程序和中間件來處理404 響應,則中間件將優先。

結論

在 FastAPI 中自訂 404 回應是一個簡單的過程,可以使用自訂回應處理程序或中介軟體來實現。透過遵循本文中描述的技術,您可以建立自訂 404 頁面,以提供資訊更豐富且使用者友好的體驗。

以上是如何在 FastAPI 中使用自訂頁面處理 404 回應?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn