gin 提供 。 json,xml, yaml 的返回机制
gin.H 是一个 map[string]interface{}的快捷方式
代码示例如下:
package main
import (
"github.com/gin-gonic/gin"
_ "github.com/jinzhu/gorm/dialects/mysql"
"net/http"
)
type Person struct {
Name string `form:"name"`
Address string `form:"address"`
Colors []string `form:"colors[]"`
}
func main() {
r := gin.Default()
//gin.H 是一个map[string]interface{}的快捷方式
r.GET("/someJSON", func(c *gin.Context){
c.JSON(http.StatusOK,gin.H{"message":"hey","status":http.StatusOK})
})
r.GET("/moreJSON",func(c *gin.Context){
// 使用结构体代替gin.H
var msg struct{
Name string `json:"user"`
Message string
Number int
}
msg.Name = "che"
msg.Message = "hey"
msg.Number = 123
c.JSON(200,msg)
})
r.GET("/someXML",func(c *gin.Context){
c.XML(200,gin.H{"msg":"xml ok"})
})
r.GET("/someYAML", func(c *gin.Context){
c.YAML(200,gin.H{"msg":"YAML OK"})
})
r.Run(":3000")
}