1 import ( 2 "github.com/gin-gonic/gin" 3 "net/http" 4 ) 5 6 func main() { 7 r:=gin.Default() 8 //外部重定向 可以通过Redirect跳转到外部页面 9 //http.StatusMovedPermanently为状态码301 永久移动 请求的页面已永久跳转到新的url 10 //第二个参数为跳转的外部地址 11 r.GET("/t", func(c *gin.Context) { 12 c.Redirect(http.StatusMovedPermanently,"http://www.baidu.com") 13 }) 14 15 //内部重定向 通过c.Request.URL.Path 设置跳转的指定的路径 16 //通过HandleContext函数 17 r.GET("/move", func(c *gin.Context) { 18 // 指定重定向的URL 通过HandleContext进行重定向到test2 页面显示json数据 19 c.Request.URL.Path = "/test2" 20 r.HandleContext(c) 21 }) 22 r.GET("/test2", func(c *gin.Context) { 23 c.JSON(http.StatusOK, gin.H{"hello": "world"}) 24 }) 25 r.Run() 26 }
内部重定向运行结果:
输入请求为/move ,通过重定向实际请求的地址为 /test2。