標準 HTTP パッケージのカスタム エラー処理
Golang の標準 HTTP パッケージでは、不正な URL にアクセスすると、デフォルトの「404 ページ」が表示されます。見つかりません」というメッセージが通常表示されます。この応答をカスタマイズして、よりユーザー フレンドリーなエクスペリエンスを提供するには、独自のエラー処理関数を実装できます。
Pure HTTP パッケージのソリューション:
net/http パッケージのみを使用して、専用の errorHandler 関数を作成できます。
func errorHandler(w http.ResponseWriter, r *http.Request, status int) { w.WriteHeader(status) if status == http.StatusNotFound { fmt.Fprint(w, "custom 404") } }
その後、カスタム ハンドラーを登録し、提供されたコードに示されている errorHandler:
http.HandleFunc("/", homeHandler) http.HandleFunc("/smth/", smthHandler) http.ListenAndServe(":12345", nil)
Gorilla/Mux Router の解決策:
Gorilla/Mux Router を使用している場合は、次のことができます。組み込み機能を活用して、見つからないシナリオを処理します:
func main() { r := mux.NewRouter() r.NotFoundHandler = http.HandlerFunc(notFound) }
その後、必要に応じて notFound 関数:
func notFound(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotFound) fmt.Fprint(w, "custom 404") }
拡張エラー処理:
提供されたコード例は基本的なエラー処理を示していますが、これを拡張してさまざまな HTTP エラーやエラーを処理することができます。ログ記録や通知の送信など、追加のアクションを実行します。
以上がGo の HTTP パッケージでエラー処理をカスタマイズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。