Maison > développement back-end > Golang > Comment personnaliser la gestion des erreurs HTTP 404 dans Go avec HTTProuter ?

Comment personnaliser la gestion des erreurs HTTP 404 dans Go avec HTTProuter ?

Susan Sarandon
Libérer: 2024-10-26 13:56:31
original
555 Les gens l'ont consulté

How to Customize HTTP 404 Error Handling in Go with HTTProuter?

Personnalisation de la gestion HTTP 404 avec HTTProuter

HTTProuter offre la possibilité de gérer les réponses 404 manuellement. Pour y parvenir, une fonction de gestionnaire personnalisée doit être définie.

La structure Router de HTTProuter possède un champ NotFound de type http.Handler. L'interface http.Handler définit une méthode unique, ServeHTTP(ResponseWriter, *Request). Par conséquent, un gestionnaire personnalisé doit implémenter cette fonction.

Pour créer un gestionnaire personnalisé, définissez une fonction avec la signature func(http.ResponseWriter, *http.Request). Convertissez cette fonction en valeur http.Handler à l'aide de la fonction d'assistance http.HandlerFunc(). Par exemple :

<code class="go">func MyNotFound(w http.ResponseWriter, r *http.Request) {
    w.Header().Set("Content-Type", "text/plain; charset=utf-8")
    w.WriteHeader(http.StatusNotFound) // Set status to 404
    w.Write([]byte("My NotFound handler"))
}

router.NotFound = http.HandlerFunc(MyNotFound)</code>
Copier après la connexion

Ce gestionnaire personnalisé sera déclenché par HTTProuter. Alternativement, il peut être invoqué manuellement à partir d'autres gestionnaires en transmettant les instances ResponseWriter et *Request :

<code class="go">func ResourceHandler(w http.ResponseWriter, r *http.Request) {
    if ... { // Check for resource availability
        router.NotFound(w, r)
        return
    }
    // ... Serve the resource
}</code>
Copier après la connexion

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