HTTP重定向
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
router := gin.Default()
router.GET("/ssss", func(ctx *gin.Context) { //使用匿名函数
ctx.Redirect(http.StatusMisdirectedRequest, "www.baidu.com")
})
router.Run(":9090")
}
路由重定向
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
router := gin.Default()
router.GET("/path1", func(ctx *gin.Context) { //使用匿名函数
ctx.Request.URL.Path = "/path2" //访问path1,就重定向到path2
router.HandleContext(ctx) //
})
router.GET("/path2", func(ctx *gin.Context) {
ctx.JSON(http.StatusOK, gin.H{
"msg": "你被重定向到了path2",
})
})
router.Run(":9090")
}
![image.png](https://cdn.nlark.com/yuque/0/2022/png/22872200/1658301544795-136f9c06-4fa6-4c8c-8d2d-0f54ed93a299.png#clientId=u9b3e2b22-b028-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=139&id=u14ff7cac&margin=%5Bobject%20Object%5D&name=image.png&originHeight=139&originWidth=469&originalType=binary&ratio=1&rotation=0&showTitle=false&size=4824&status=done&style=none&taskId=udf1f01ea-2fe8-49c9-a5a8-7606930e34c&title=&width=469)
路由组
当有/user/1,/user/2,/user/3,这样的路由的时候,可以将/user/作为一个路由组。
package main
import (
"github.com/gin-gonic/gin"
)
func main() {
router := gin.Default()
rgroup := router.Group("/user") //定义路由组
{
rgroup.GET("/1", func(ctx *gin.Context) { ctx.JSON(200, gin.H{"msg": "这是1页面"}) })
rgroup.GET("/2", func(ctx *gin.Context) { ctx.JSON(200, gin.H{"msg": "这是2页面"}) })
rgroup.GET("/3", func(ctx *gin.Context) { ctx.JSON(200, gin.H{"msg": "这是3页面"}) })
}
router.Run(":9090")
}