一共两种方式:内部资源重定向和外部资源重定向
外部资源重定向可以跳转到外部站点资源
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
//创建路由引擎
engine := gin.Default()
/**
"/index" 请求的资源路径
通过func(context *gin.Context)函数处理GET请求
*/
engine.GET("/index", func(context *gin.Context) {
//重定向到外部站点资源--跳转到百度这个资源路径
context.Redirect(http.StatusMovedPermanently,"https://www.baidu.com")
})
//开启路由,默认端口8080
engine.Run()
}
内部资源重定向
package main
import (
"github.com/gin-gonic/gin"
"net/http"
)
func main() {
engine := gin.Default()
//内部资源重定向
engine.GET("/index", func(context *gin.Context) {
context.Request.URL.Path ="/index1"//修改资源路径
engine.HandleContext(context)//跳转
})
engine.GET("/index1", func(context *gin.Context) {
context.JSON(http.StatusOK,gin.H{
"message":"重index跳转到index1",
})
})
engine.Run(":8081")
}
区别:
第一个浏览器地址栏会发生变化,还会发送两次请求