概要
FastAPI は、Python の人気のある Web フレームワークであり、 API を構築するためのクリーンで効率的な方法。 Web アプリケーションを操作する場合の一般的な要件の 1 つは、要求されたリソースが見つからない (404 Not Found) 場合に返される応答をカスタマイズできることです。この記事では、FastAPI を使用してカスタム 404 ページを作成するプロセスについて説明します。
カスタム レスポンス ハンドラーの使用
404 レスポンスを処理する 1 つの方法は、カスタム例外ハンドラー。 FastAPI を使用すると、特定の例外をインターセプトして処理できるカスタム例外ハンドラーを登録できます。この例では、404 ステータス コードの例外ハンドラーを作成し、カスタム応答を返すことができます。
カスタム 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 応答を処理するためのもう 1 つのオプションは、ミドルウェアを使用することです。ミドルウェアは、各要求と応答のサイクルの前後に実行される関数です。この例では、ミドルウェアを使用して 404 応答をチェックし、カスタム応答を返すことができます。
404 応答を処理するミドルウェアを作成する方法の例を次に示します。
<code class="python">from fastapi import Request, Response, status from fastapi.responses import HTMLResponse @app.middleware("http") 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 応答を処理するためにカスタム応答ハンドラーとミドルウェアの両方を使用している場合は、ミドルウェアが優先されることに注意することが重要です。
結論
FastAPI での 404 応答のカスタマイズは、カスタム応答ハンドラーまたはミドルウェアを使用して実現できる簡単なプロセスです。この記事で説明されている手法に従うことで、より有益でユーザーフレンドリーなエクスペリエンスを提供するカスタム 404 ページを作成できます。
以上がFastAPI のカスタム ページで 404 応答を処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。