Maison  >  Article  >  développement back-end  >  Comment personnaliser la page d'erreur 404 introuvable dans FastAPI ?

Comment personnaliser la page d'erreur 404 introuvable dans FastAPI ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-24 03:03:02656parcourir

How to Customize 404 Not Found Error Page in FastAPI?

Personnalisation de la page d'erreur 404 introuvable dans FastAPI

Dans le développement Web, il est courant de créer des pages d'erreur personnalisées pour différents codes d'état HTTP afin d'améliorer l'expérience utilisateur. Dans cet article, nous allons explorer comment créer une page 404 Not Found personnalisée à l'aide de FastAPI, un framework Web Python populaire.

FastAPI propose plusieurs méthodes pour gérer les exceptions et les erreurs personnalisées. Examinons les différentes solutions disponibles.

Gestionnaire d'exceptions

Pour définir un gestionnaire d'exceptions personnalisé, utilisez le décorateur @app.exception_handler(exception_to_handle). Pour gérer les erreurs 404, le code suivant peut être utilisé :

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

Middleware personnalisé

FastAPI permet l'utilisation d'un middleware personnalisé pour intercepter les requêtes et les réponses. Pour créer un middleware pour la gestion des erreurs 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>

Paramètre des gestionnaires d'exceptions

Alternativement, les gestionnaires d'exceptions peuvent être spécifiés en tant que paramètre de la classe 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>

Personnalisation de la réponse d'erreur

Dans les extraits de code fournis ci-dessus, nous renvoyons une RedirectResponse pour rediriger l'utilisateur vers une autre page. Cependant, vous pouvez également renvoyer une réponse HTMLResponse ou Jinja2TemplateResponse personnalisée pour créer une page d'erreur personnalisée avec le contenu approprié.

Nous espérons que ce guide vous aidera à créer des pages d'erreur 404 personnalisées dans FastAPI et à améliorer l'expérience utilisateur sur votre application Web. .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn