Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Melaksanakan Halaman Ralat 404 Tersuai dalam Go menggunakan Pakej `net/http`?

Bagaimana untuk Melaksanakan Halaman Ralat 404 Tersuai dalam Go menggunakan Pakej `net/http`?

DDD
Lepaskan: 2024-12-18 03:15:09
asal
818 orang telah melayarinya

How to Implement Custom 404 Error Pages in Go using the `net/http` Package?

Melaksanakan Halaman Ralat Tersuai 404 Menggunakan Pakej Net/HTTP

Apabila pengguna menavigasi ke URL yang tidak wujud, tingkah laku lalai dalam pelayan web adalah untuk memaparkan mesej generik "Halaman 404 Tidak Ditemui". Untuk meningkatkan pengalaman pengguna, anda mungkin ingin membuat halaman 404 tersuai yang menyediakan lebih banyak maklumat atau mengubah hala pengguna ke destinasi yang berkaitan.

Dalam senario ini, dengan kod ringkas yang disediakan:

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", homeHandler)
    http.HandleFunc("/smth/", smthHandler)
    http.ListenAndServe(":12345", nil)
}

func homeHandler(w http.ResponseWriter, r *http.Request) {
    if r.URL.Path != "/" {
        errorHandler(w, r, http.StatusNotFound)
        return
    }
    fmt.Fprint(w, "welcome home")
}

func smthHandler(w http.ResponseWriter, r *http.Request) {
    if r.URL.Path != "/smth/" {
        errorHandler(w, r, http.StatusNotFound)
        return
    }
    fmt.Fprint(w, "welcome smth")
}

func errorHandler(w http.ResponseWriter, r *http.Request, status int) {
    w.WriteHeader(status)
    if status == http.StatusNotFound {
        fmt.Fprint(w, "custom 404")
    }
}
Salin selepas log masuk

Fungsi errorHandler, yang digunakan untuk mengendalikan semua ralat HTTP, boleh disesuaikan untuk memaparkan halaman ralat 404 tersuai dengan mengembalikan http.StatusNotFound kod ralat dan menulis kandungan yang dikehendaki pada ResponseWriter.

Dalam contoh ini, fungsi errorHandler mengembalikan mesej tersuai "custom 404" apabila status ralat 404 dikesan. Ini membolehkan anda menggantikan mesej lalai "Halaman 404 Tidak Ditemui" dengan halaman yang lebih mesra pengguna dan bermaklumat.

Selain itu, fungsi pengendali ralat boleh dilanjutkan untuk menangkap ralat HTTP lain dan melaksanakan pengendalian ralat tersuai, seperti sebagai ralat pengelogan, menghantar pemberitahuan e-mel atau mengubah hala pengguna ke halaman ralat tertentu.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Halaman Ralat 404 Tersuai dalam Go menggunakan Pakej `net/http`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan