响应
1. 字符串方式
r.GET("/user/save", func(ctx *gin.Context) {
ctx.String(http.StatusOK, "this is a %s", "ms string response")
})
1
2
3
2
3
2. JSON方式
r.GET("/user/save", func(ctx *gin.Context) {
ctx.JSON(http.StatusOK, gin.H{
"success": true,
})
})
1
2
3
4
5
2
3
4
5
3. XML方式
type XmlUser struct {
Id int64 `xml:"id"`
Name string `xml:"name"`
}
r.GET("/user/save", func(ctx *gin.Context) {
u := XmlUser{
Id: 11,
Name: "zhangsan",
}
ctx.XML(http.StatusOK, u)
})
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
4. 文件格式
r.GET("/user/save", func(ctx *gin.Context) {
//ctx.File("./1.png")
ctx.FileAttachment("./1.png", "2.png")
})
1
2
3
4
2
3
4
5. 设置http响应头
r.GET("/user/save", func(ctx *gin.Context) {
ctx.Header("test", "headertest")
})
1
2
3
2
3
6. 重定向
r.GET("/user/save", func(ctx *gin.Context) {
ctx.Redirect(http.StatusMovedPermanently, "http://www.baidu.com")
})
1
2
3
2
3
7. YAML方式
r.GET("/user/save", func(ctx *gin.Context) {
ctx.YAML(200, gin.H{"name": "ms", "age": 19})
})
1
2
3
2
3