package main
import "github.com/gin-gonic/gin"
func main(){
r:= gin.New()
r.GET("/Test1",Test1)
r.GET("/Test2",Test2)
r.Run()
}
func Test1(c *gin.Context){
c.JSON(200,gin.H{"message":"Test1","code":1000,"result":""})
}
func Test2(c *gin.Context){
c.JSON(200,gin.H{"message":"Test2","code":1000,"result":""})
}
经过装饰器包装之后的结果:
package main
import "github.com/gin-gonic/gin"
func main(){
r:= gin.New()
r.GET("/Test1",handler(Test1))
r.GET("/Test2",handler(Test2))
r.Run()
}
type MyHandler func (c *gin.Context)(string,int,interface{})
func handler(h MyHandler)gin.HandlerFunc{
return func(c * gin.Context){
msg,code,result:=h(c)
c.JSON(200,gin.H{"message":msg,"code":code,"result":result})
}
}
func Test1(c *gin.Context)(string,int,interface{}){
return "Test1",1000,"ok"
}
func Test2(c *gin.Context)(string,int,interface{}){
return "Test2",1000,"ok"
}