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。