中间件

1. 什么是中间件

中间件是指在处理请求之前或之后执行的一段代码,用于日志、认证、限流等功能。

2. 中间件实现示例

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. 使用中间件

mux := http.NewServeMux()
mux.HandleFunc("/", homeHandler)
loggedMux := loggingMiddleware(mux)
http.ListenAndServe(":8080", loggedMux)

4. 链式中间件

多个中间件可以组合调用,实现灵活的请求处理流程。


中间件提升 HTTP 服务的可维护性和功能扩展性。