Heim  >  Artikel  >  Backend-Entwicklung  >  Wie gehe ich mit 404-Antworten mit benutzerdefinierten Seiten in FastAPI um?

Wie gehe ich mit 404-Antworten mit benutzerdefinierten Seiten in FastAPI um?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-24 02:08:29867Durchsuche

How to Handle 404 Responses with Custom Pages in FastAPI?

Verarbeitung von 404-Antworten mit benutzerdefinierten Seiten in FastAPI

Einführung

FastAPI ist ein beliebtes Webframework für Python, das eine saubere und effiziente Möglichkeit, APIs zu erstellen. Eine häufige Anforderung bei der Arbeit mit Webanwendungen ist die Möglichkeit, die zurückgegebene Antwort anzupassen, wenn eine angeforderte Ressource nicht gefunden wird (404 Not Found). Dieser Artikel führt Sie durch den Prozess der Erstellung einer benutzerdefinierten 404-Seite mit FastAPI.

Verwenden eines benutzerdefinierten Antwort-Handlers

Ein Ansatz zur Verarbeitung von 404-Antworten ist die Verwendung von a Benutzerdefinierter Ausnahmehandler. Mit FastAPI können Sie benutzerdefinierte Ausnahmehandler registrieren, die bestimmte Ausnahmen abfangen und behandeln können. In unserem Fall können wir einen Ausnahmehandler für den 404-Statuscode erstellen und eine benutzerdefinierte Antwort zurückgeben.

Hier ist ein Beispiel für die Erstellung eines benutzerdefinierten 404-Antworthandlers:

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

Verwendung einer Middleware

Eine weitere Möglichkeit zur Verarbeitung von 404-Antworten ist die Verwendung einer Middleware. Middlewares sind Funktionen, die vor und nach jedem Anfrage-Antwort-Zyklus ausgeführt werden. In unserem Fall können wir eine Middleware verwenden, um nach 404-Antworten zu suchen und eine benutzerdefinierte Antwort zurückzugeben.

Hier ist ein Beispiel für die Erstellung einer Middleware zur Verarbeitung von 404-Antworten:

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

Hinweis: Es ist wichtig zu beachten, dass die Middleware Vorrang hat, wenn Sie sowohl einen benutzerdefinierten Antworthandler als auch eine Middleware zur Verarbeitung von 404-Antworten verwenden.

Fazit

Das Anpassen von 404-Antworten in FastAPI ist ein unkomplizierter Prozess, der entweder mithilfe benutzerdefinierter Antworthandler oder Middleware erreicht werden kann. Indem Sie die in diesem Artikel beschriebenen Techniken befolgen, können Sie benutzerdefinierte 404-Seiten erstellen, die ein informativeres und benutzerfreundlicheres Erlebnis bieten.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit 404-Antworten mit benutzerdefinierten Seiten in FastAPI um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn