gin框架 响应的数据格式
gin框架 可以提供多种数据格式的响应,包括json、结构体、XML、YAML 以及 ProtoBuf等格式。
package main import ( "github.com/gin-gonic/gin" "github.com/gin-gonic/gin/testdata/protoexample" ) // 多种响应方式 func main() { // 创建路由 engine := engine.Default() // 1. 返回json engine.GET("/someJSON", func(c *gin.Context) { c.JSON(200, gin.H{"message": "someJSON", "status": 200}) }) // 2. 结构体响应 engine.GET("/someStruct", func(c *gin.Context) { var msg struct { Name string Message string Number int } msg.Name = "root" msg.Message = "message" msg.Number = 123 c.JSON(200, msg) }) // 3.XML engine.GET("/someXML", func(c *gin.Context) { c.XML(200, gin.H{"message": "abc"}) }) // 4.YAML响应 engine.GET("/someYAML", func(c *gin.Context) { c.YAML(200, gin.H{"name": "zhangsan"}) }) // 5.protobuf格式,谷歌开发的高效存储读取的工具 engine.GET("/someProtoBuf", func(c *gin.Context) { reps := []int64{int64(1), int64(2)} // 定义数据 label := "label" // 传protobuf格式数据 data := &protoexample.Test{ Label: &label, Reps: reps, } c.ProtoBuf(200, data) }) engine.Run() }
gin框架 HTML模板渲染:gin 支持加载 HTML 模板, 然后根据模板参数进行配置并返回相应的数据,本质上就是字符串替换 LoadHTMLGlob() 方法可以加载模板文件。本章介绍:正常模式 HTML 模板渲染、多层目录 HTML 模板渲染、头尾分离模式 HTML 模板渲染。