首頁  >  文章  >  後端開發  >  如何在 FastAPI 中自訂 404 Not Found 錯誤頁面?

如何在 FastAPI 中自訂 404 Not Found 錯誤頁面?

Linda Hamilton
Linda Hamilton原創
2024-10-24 03:03:02657瀏覽

How to Customize 404 Not Found Error Page in FastAPI?

在FastAPI 中自訂404 Not Found 錯誤頁面

在Web 開發中,通常的做法是為不同的HTTP 狀態代碼建立自訂錯誤頁面以增強使用者體驗。在本文中,我們將探索如何使用流行的 Python Web 框架 FastAPI 建立自訂 404 Not Found 頁面。

FastAPI 提供了多種方法來處理自訂異常和錯誤。讓我們深入研究各種可用的解決方案。

異常處理程序

要定義自訂異常處理程序,請使用 @app.exception_handler(exception_to_handle) 裝飾器。為了處理 404 錯誤,可以使用以下程式碼:

<code class="python">@app.exception_handler(404)
async def not_found_error(request: Request, exc: HTTPException):
    return RedirectResponse('https://fastapi.tiangolo.com')</code>

自訂中間件

FastAPI 允許使用自訂中間件來攔截請求和回應。若要建立用於404 錯誤處理的中間件:

<code class="python">@app.middleware("http")
async def redirect_on_not_found(request: Request, call_next):
    response = await call_next(request)
    if response.status_code == 404:
        return RedirectResponse("https://fastapi.tiangolo.com")
    else:
        return response</code>

異常處理程序參數

或者,異常處理程序可以指定為FastAPI 類別的參數:

<code class="python">async def not_found_error(request: Request, exc: HTTPException):
    return RedirectResponse('https://fastapi.tiangolo.com')

exception_handlers = {404: not_found_error}
app = FastAPI(exception_handlers=exception_handlers)</code>

自訂錯誤回應

在上面提供的程式碼片段中,我們傳回一個RedirectResponse 將使用者重新導向到不同的頁面。但是,您也可以傳回自訂 HTMLResponse 或 Jinja2TemplateResponse 以建立具有適當內容的自訂錯誤頁面。

我們希望本指南幫助您在 FastAPI 中建立自訂 404 錯誤頁面並增強 Web 應用程式的使用者體驗.

以上是如何在 FastAPI 中自訂 404 Not Found 錯誤頁面?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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