“ 之前我们了解了gin框架怎么获取用户输入的参数。有输入自然要有输出,我们要对用户的操作进行及时的反馈。所以,今天我们来一起看下gin框架的各种数据的响应”
package main
import (
"github.com/gin-gonic/gin"
"github.com/gin-gonic/gin/testdata/protoexample"
"net/http"
)
func main() {
r := gin.New()
r.Use(gin.Logger())
// string响应
r.GET("/string", func(c *gin.Context) {
c.String(http.StatusOK, "string")
})
// xml响应
r.GET("/xml", func(c *gin.Context) {
c.XML(http.StatusOK, gin.H{
"success": true,
"msg": "xml",
})
})
// yaml(yml)响应
r.GET("/yaml", func(c *gin.Context) {
c.YAML(http.StatusOK, gin.H{
"success": true,
"msg": "yaml",
})
})
// json响应(最常用)
r.GET("/json", func(c *gin.Context) {
c.JSON(http.StatusOK, gin.H{
"success": true,
"msg": "json",
})
})
// protobuf响应
r.GET("/protobuf", func(c *gin.Context) {
reps := []int64{int64(1), int64(2)}
label := "protobuf"
c.ProtoBuf(http.StatusOK, &protoexample.Test{
Label: &label,
Reps: reps,
})
})
_ = r.Run(":81")
}