重定向
HTTP重定向
HTTP重定向很容易,内部、外部重定向均支持。
r.GET("/test", func(c *gin.Context){ c.Redirect(http.StatusMovedPermanently, "http://www.sogo.com/") })
路由重定向
路由重定向,使用HandleContext
r.GET("/test", func(c *ginContext){ c.Request.URL.Path = "/test2" r.HandleContext(c) }) r.GET("/test2", func(c *gin.Context){ c.JSON(http.StatusOK, gin.H{"hello": "world"}) })
例子:重定向
package mian import ( "github.com/gin-gonic/gin" "net/http" ) func main(){ r := gin.Default() r.GET("/index", func(c *gin.Context){ // "status": "ok", // 跳转到sogo.com c.Redirect(http.StatusMovedPermanently, "http://www.sogo.com") }) r.GET("/a", func(c *gin.Context){ c.Request.URL.Path = "/b" // 把请求的URI修改 r.HandleContext(c) // 继续后续的处理 }) r.GET("/b", func(c *gin.Context){ c.JSON(http.StatusOK, gin.H{ "message": "b", }) }) r.Run(":8080") }