Maison  >  Article  >  développement back-end  >  Comment créer une page 404 introuvable personnalisée dans FastAPI ?

Comment créer une page 404 introuvable personnalisée dans FastAPI ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-24 04:46:01946parcourir

How to Create a Custom 404 Not Found Page in FastAPI?

Page 404 introuvable personnalisée avec FastAPI

Pour créer une page 404 introuvable personnalisée, FastAPI propose plusieurs approches. La méthode appropriée dépend de vos besoins spécifiques.

Redirection vers le code d'état 404

<br>@app.middleware("http") <br>async def redirect_on_not_found(request: Request, call_next):</p>
<pre class="brush:php;toolbar:false">response = await call_next(request)
if response.status_code == 404:
    return RedirectResponse("https://fastapi.tiangolo.com")
else:
    return response

Ce middleware vérifie le code d'état de la réponse et redirige vers une page personnalisée si le code est 404.

Gestionnaire d'exceptions personnalisé pour 404

<br>@app.exception_handler(404)<br>async def not_found_exception_handler(request : Request, exc: HTTPException):</p>
<pre class="brush:php;toolbar:false">return RedirectResponse('https://fastapi.tiangolo.com')

Un gestionnaire d'exceptions personnalisé peut être créé spécifiquement pour le code d'état 404. Cela permet une réponse plus spécifique et ciblée.

Pages d'erreur personnalisées à l'aide de modèles

FastAPI prend en charge l'utilisation de modèles pour afficher des pages d'erreur personnalisées. Cet exemple crée deux pages d'erreur :

<br>templates = Jinja2Templates(directory='templates')</p>
<p>exception_handlers = {</p>
<pre class="brush:php;toolbar:false">404: not_found_error,
500: internal_error

}

app = FastAPI(exception_handlers=exception_handlers)

Les modèles se trouvent dans le répertoire « modèles » et peuvent être personnalisés selon vos besoins.

En sélectionnant la méthode qui convient le mieux à votre application, vous pouvez créer une page 404 Not Found personnalisée dans FastAPI.

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