乐趣区

关于gin:基于Gin框架的web后端开发八-Gin框架的请求重定向

重定向分为内部重定向和外部重定向,也能够分为永恒重定向和长期重定向。

内部重定向

能够应用 Redirect 办法来实现,举个例子,如果咱们想永恒重定向到内部的百度:

package main

import (
    "github.com/gin-gonic/gin"
    "net/http"
)

func main() {r := gin.Default()
    r.GET("/index", func(c *gin.Context) {c.Redirect(http.StatusMovedPermanently, "https://www.baidu.com")
    })
    r.Run(":9090")
}

运行后果就间接重定向到内部的百度了,咱们发现


外部重定向

举个例子,如果想要从 / a 外部跳到 /b, 能够这样写:

package main

import (
    "github.com/gin-gonic/gin"
    "net/http"
)

func main() {r := gin.Default()
    r.GET("/index", func(c *gin.Context) {c.Redirect(http.StatusMovedPermanently, "https://www.baidu.com")
    })
    r.GET("/a", func(c *gin.Context) {
        // 跳转到 / b 对应的路由处理函数
        c.Request.URL.Path = "/b"
        r.HandleContext(c)
    })
    r.GET("/b", func(c *gin.Context) {
        c.JSON(http.StatusOK, gin.H{"message": "b",})
    })
    r.Run(":9090")
}

后果如下:


参考:bilibili

退出移动版