ホームページ > バックエンド開発 > Python チュートリアル > FastAPI で 404 Not Found エラー ページをカスタマイズするにはどうすればよいですか?

FastAPI で 404 Not Found エラー ページをカスタマイズするにはどうすればよいですか?

Linda Hamilton
リリース: 2024-10-24 03:03:02
オリジナル
663 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート