Maison >développement back-end >Tutoriel Python >Comment gérer les réponses 404 avec des pages personnalisées dans FastAPI ?

Comment gérer les réponses 404 avec des pages personnalisées dans FastAPI ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-24 02:08:29938parcourir

How to Handle 404 Responses with Custom Pages in FastAPI?

Gestion des réponses 404 avec des pages personnalisées dans FastAPI

Introduction

FastAPI est un framework Web populaire pour Python qui fournit un moyen propre et efficace de créer des API. Une exigence courante lorsque l'on travaille avec des applications Web est la possibilité de personnaliser la réponse renvoyée lorsqu'une ressource demandée n'est pas trouvée (404 Not Found). Cet article vous guidera tout au long du processus de création d'une page 404 personnalisée à l'aide de FastAPI.

Utilisation d'un gestionnaire de réponses personnalisé

Une approche pour gérer les réponses 404 consiste à utiliser un gestionnaire d'exceptions personnalisé. FastAPI vous permet d'enregistrer des gestionnaires d'exceptions personnalisés capables d'intercepter et de gérer des exceptions spécifiques. Dans notre cas, nous pouvons créer un gestionnaire d'exceptions pour le code d'état 404 et renvoyer une réponse personnalisée.

Voici un exemple de création d'un gestionnaire de réponse 404 personnalisé :

<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>

Utiliser un middleware

Une autre option pour gérer les réponses 404 consiste à utiliser un middleware. Les middlewares sont des fonctions qui s'exécutent avant et après chaque cycle requête-réponse. Dans notre cas, nous pouvons utiliser un middleware pour vérifier les réponses 404 et renvoyer une réponse personnalisée.

Voici un exemple de création d'un middleware pour gérer les réponses 404 :

<code class="python">from fastapi import Request, Response, status
from fastapi.responses import HTMLResponse

@app.middleware(&quot;http&quot;)
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>

Remarque : Il est important de noter que si vous utilisez à la fois un gestionnaire de réponses personnalisé et un middleware pour gérer les réponses 404, le middleware aura la priorité.

Conclusion

La personnalisation des réponses 404 dans FastAPI est un processus simple qui peut être réalisé à l'aide de gestionnaires de réponses personnalisés ou d'un middleware. En suivant les techniques décrites dans cet article, vous pouvez créer des pages 404 personnalisées qui offrent une expérience plus informative et conviviale.

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