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

Patricia Arquette
Libérer: 2024-10-24 02:08:29
original
884 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!