全部学科
NodeJS全栈
nodejs
Python全栈
python
📅 2026-05-18 5 分钟 ✍️ juanwangdev

响应处理基础

Gin 提供丰富的响应方法,支持多种数据格式。

字符串响应

使用 c.String() 返回纯文本:

Go
r.GET("/string", func(c *gin.Context) {
    c.String(200, "Hello, %s", "Gin")
})

JSON 响应

使用 c.JSON() 返回 JSON 格式:

Go
r.GET("/json", func(c *gin.Context) {
    c.JSON(200, gin.H{
        "code": 0,
        "msg":  "success",
        "data": "Hello Gin",
    })
})

// 使用结构体
type User struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
}

r.GET("/user", func(c *gin.Context) {
    c.JSON(200, User{Name: "张三", Age: 25})
})

XML 响应

使用 c.XML() 返回 XML 格式:

Go
r.GET("/xml", func(c *gin.Context) {
    c.XML(200, gin.H{
        "message": "Hello Gin",
    })
})

HTML 响应

使用 c.HTML() 返回 HTML 模板:

Go
// 加载模板
r.LoadHTMLGlob("templates/*")

r.GET("/html", func(c *gin.Context) {
    c.HTML(200, "index.html", gin.H{
        "title": "Gin 示例",
    })
})

原始响应

使用 c.Data() 返回原始字节数据:

Go
r.GET("/data", func(c *gin.Context) {
    c.Data(200, "text/plain; charset=utf-8", []byte("原始数据"))
})

响应方法对比

方法格式常用场景
String纯文本简单消息、健康检查
JSONJSONAPI 接口
XMLXML传统系统集成
HTMLHTML服务端渲染页面
Data二进制文件、原始数据

Gin 默认自动设置 Content-Type,无需手动指定。

要点总结

  • c.String() 返回纯文本
  • c.JSON() 是最常用的 API 响应方法
  • c.HTML() 需要先加载模板文件
  • c.Data() 用于返回原始二进制数据
想在手机上练习这篇文章的配套题目?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一篇 Gin环境搭建
下一篇 → JSON数据返回
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码