Benutzerdefinierte Fehlerbehandlung im Standard-HTTP-Paket
Im Standard-HTTP-Paket von Golang wird beim Zugriff auf eine falsche URL eine standardmäßige „404-Seite“ angezeigt Normalerweise wird die Meldung „nicht gefunden“ angezeigt. Um diese Antwort anzupassen und ein benutzerfreundlicheres Erlebnis zu bieten, können Sie Ihre eigene Fehlerbehandlungsfunktion implementieren.
Lösung für reines HTTP-Paket:
Wenn ja Wenn Sie nur das Paket net/http verwenden, können Sie eine dedizierte errorHandler-Funktion erstellen:
func errorHandler(w http.ResponseWriter, r *http.Request, status int) { w.WriteHeader(status) if status == http.StatusNotFound { fmt.Fprint(w, "custom 404") } }
Dann können Sie Ihre benutzerdefinierten Handler und den errorHandler registrieren, wie in gezeigt der bereitgestellte Code:
http.HandleFunc("/", homeHandler) http.HandleFunc("/smth/", smthHandler) http.ListenAndServe(":12345", nil)
Lösung für Gorilla/Mux-Router:
Wenn Sie den Gorilla/Mux-Router verwenden, können Sie dessen integrierte Funktion nutzen Funktion zum Behandeln von Nicht-Gefunden-Szenarien:
func main() { r := mux.NewRouter() r.NotFoundHandler = http.HandlerFunc(notFound) }
Sie müssen dann die Funktion notFound als implementieren gewünscht:
func notFound(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotFound) fmt.Fprint(w, "custom 404") }
Erweiterte Fehlerbehandlung:
Das bereitgestellte Codebeispiel demonstriert die grundlegende Fehlerbehandlung, Sie können diese jedoch erweitern, um verschiedene HTTP-Fehler zu behandeln und zusätzliche Aktionen auszuführen , wie z. B. Protokollierung oder Senden von Benachrichtigungen.
Das obige ist der detaillierte Inhalt vonWie kann ich die Fehlerbehandlung im HTTP-Paket von Go anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!