HTTP重定向

  1. package main
  2. import (
  3. "net/http"
  4. "github.com/gin-gonic/gin"
  5. )
  6. func main() {
  7. router := gin.Default()
  8. router.GET("/ssss", func(ctx *gin.Context) { //使用匿名函数
  9. ctx.Redirect(http.StatusMisdirectedRequest, "www.baidu.com")
  10. })
  11. router.Run(":9090")
  12. }

路由重定向

  1. package main
  2. import (
  3. "net/http"
  4. "github.com/gin-gonic/gin"
  5. )
  6. func main() {
  7. router := gin.Default()
  8. router.GET("/path1", func(ctx *gin.Context) { //使用匿名函数
  9. ctx.Request.URL.Path = "/path2" //访问path1,就重定向到path2
  10. router.HandleContext(ctx) //
  11. })
  12. router.GET("/path2", func(ctx *gin.Context) {
  13. ctx.JSON(http.StatusOK, gin.H{
  14. "msg": "你被重定向到了path2",
  15. })
  16. })
  17. router.Run(":9090")
  18. }
  1. ![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/作为一个路由组。

  1. package main
  2. import (
  3. "github.com/gin-gonic/gin"
  4. )
  5. func main() {
  6. router := gin.Default()
  7. rgroup := router.Group("/user") //定义路由组
  8. {
  9. rgroup.GET("/1", func(ctx *gin.Context) { ctx.JSON(200, gin.H{"msg": "这是1页面"}) })
  10. rgroup.GET("/2", func(ctx *gin.Context) { ctx.JSON(200, gin.H{"msg": "这是2页面"}) })
  11. rgroup.GET("/3", func(ctx *gin.Context) { ctx.JSON(200, gin.H{"msg": "这是3页面"}) })
  12. }
  13. router.Run(":9090")
  14. }

image.png
image.png