用Go实现Web-Gee(中间件middleware)
Gee是一个用Go语言编写的Web框架,它提供了一套灵活的中间件机制,可以用于处理HTTP请求和响应。以下是一个简单的例子,展示了如何在Gee框架中创建一个简单的中间件:
package main
import (
"fmt"
"github.com/geektime/gee"
"net/http"
)
func MyMiddleware() gee.HandlerFunc {
return func(c *gee.Context) {
// 在调用后续处理器之前,可以进行一些操作
fmt.Println("Before Next Handler")
// 调用后续的处理器
c.Next()
// 在调用后续处理器之后,可以进行一些操作
fmt.Println("After Next Handler")
}
}
func HelloHandler(c *gee.Context) {
c.JSON(http.StatusOK, gee.H{
"message": "Hello Gee!",
})
}
func main() {
r := gee.New()
r.Use(MyMiddleware()) // 使用自定义的中间件
r.GET("/hello", HelloHandler)
r.Run(":9999")
}
在这个例子中,我们定义了一个名为MyMiddleware
的中间件,它在调用后续处理器之前和之后打印了一些信息。然后,我们注册了一个简单的GET处理器HelloHandler
,并且将中间件添加到了路由中。当你运行这个服务器,并且访问http://localhost:9999/hello
时,你会看到中间件在处理请求前后被调用的日志输出,同时你还会收到一个JSON响应。
评论已关闭