Gin渲染
一、json、结构体、XML、YAML数据响应
func main() {
engine := gin.Default()
engine.GET("/login", func(c *gin.Context) {
//1.JOSN格式
// c.JSON(200, gin.H{
// "username": "duty",
// "password": "123456",
// })
//2.结构体格式
// var msg struct {
// UserName string
// Password string
// }
// msg.UserName = "duty"
// msg.Password = "123456"
// c.JSON(200, msg)
//3/XML格式
// c.XML(200, gin.H{
// "username": "duty",
// })
//4.XAML格式
// c.YAML(200, gin.H{
// "username": "duty2",
// })
})
engine.Run()
}
二、HTML页面
html知识这边不予以提供,只是简单的提供代码
//main.go
func main() {
engine := gin.Default()
engine.LoadHTMLGlob("./html/*")//加载模板文件
engine.Static("/image", "./image")//引入静态文件,就需要定义一个静态文件目录
engine.GET("/duty", func(c *gin.Context) {
c.HTML(200, "index.html", gin.H{
"title": "I'm Trst",
"Path": "duty",
})
})
engine.Run()
}
//index.html
<html>
<head>
<title>{{.title}}</title>
</head>
<h1 align="center">Ginjiaocheng</h1>
{{.Path}}
<br/>
<div align="center"><img src="../image/index.html"></div>
</html>
三、重定向
顾名思义,将此网页转到地址所表示的网页
func main() {
engine := gin.Default()
engine.GET("/login", func(c *gin.Context) {
c.Redirect(http.StatusMovedPermanently, "http://www.baidu.com")//(状态码,IP地址)
})
engine.Run()
}
四、同步异步
func main() {
engine := gin.Default()
engine.GET("/login", func(c *gin.Context) {
cp := c.Copy()
log.Println("-----------")
go func() {
log.Println("异步执行-------" + cp.Request.URL.Path)
}()
})
engine.GET("duty",func(c *gin.Context) {
//
log.Println("同步执行")
})
engine.Run()
}