主题
中间件
1. 什么是中间件
中间件是指在处理请求之前或之后执行的一段代码,用于日志、认证、限流等功能。
2. 中间件实现示例
go
func loggingMiddleware(next http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
fmt.Println("Request URI:", r.RequestURI)
next.ServeHTTP(w, r)
})
}
3. 使用中间件
go
mux := http.NewServeMux()
mux.HandleFunc("/", homeHandler)
loggedMux := loggingMiddleware(mux)
http.ListenAndServe(":8080", loggedMux)
4. 链式中间件
多个中间件可以组合调用,实现灵活的请求处理流程。
中间件提升 HTTP 服务的可维护性和功能扩展性。