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