gin响应JSON的几种方法
func main() {
router := gin.Default()
router.GET("/", json)
router.Run(":80")
}
1.json响应结构体
func json(ctx *gin.Context) {
type user struct {
UserName string
Age int
PsssWord string `json:"-"` //转换为json时忽略
}
timmy := user{"Timmy", 21, "123456"}
ctx.JSON(200, timmy)
}
2.json响应map
func json(ctx *gin.Context) {
// json响应map
userMap := map[string]string{
"user_name": "小仙女",
"age": "25",
}
ctx.JSON(200, userMap)
}
3.json直接响应
func json(ctx *gin.Context) {
// json直接响应
ctx.JSON(200, gin.H{"message": 123})
}
GO框架Gin文件响应
文件结构:
GO框架Gin响应html
func _html(ctx *gin.Context) {
ctx.HTML(200,"index.html",gin.H{"username":"风风"})
}
func main() {
router := gin.Default()
//加载目标目录下所有的目标文件
router.LoadHTMLGlob("templates/*")
router.GET("/", _html)
router.Run(":80")
}
<!DOCTYPE html>
<html>
<header>
你好啊 {{.username}}
</header>
</html>
GO框架Gin响应文件或者图片
知识点:在golang中,没有相对文件的路径,他只有相对项目的路径
func main() {
router := gin.Default()
//知识点:在golang中,没有相对文件的路径,他只有相对项目的路径
router.StaticFile("/1.png", "./static/小狗.png")
// router.GET("/", _html)
router.Run(":80")
}
GO框架Gin文件夹访问权限开放
func main() {
router := gin.Default()
//加载目标目录下所有的目标文件
router.StaticFS("/s", http.Dir("static/static2"))
// 可以访问:http://127.0.0.1/s/1.txt
router.Run(":80")
}