在GoFrame中,数据返回通常是通过 ghttp.Response 对象来实现的。ghttp.Response 提供了一系列方法用于返回不同类型的数据,包括文本、JSON、HTML、文件等。以下是一些基本的介绍:

1. 返回文本数据

使用 Write 方法可以直接返回文本数据:
package main

import (
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/ghttp"
)

func main() {
s := g.Server()

s.BindHandler("/text", func(r *ghttp.Request) {
// 返回文本数据
r.Response.Write("Hello, GoFrame!")
})

s.Run()
}

2. 返回JSON数据

使用 WriteJson 方法可以返回 JSON 格式的数据:
package main

import (
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/ghttp"
)

func main() {
s := g.Server()

s.BindHandler("/json", func(r *ghttp.Request) {
// 返回JSON数据
r.Response.WriteJson(g.Map{"message": "Hello, GoFrame!"})
})

s.Run()
}

3. 返回HTML页面

使用 WriteTpl 方法可以渲染并返回 HTML 页面:
package main

import (
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/ghttp"
)

func main() {
s := g.Server()

s.BindHandler("/html", func(r *ghttp.Request) {
// 返回HTML页面
r.Response.WriteTpl("index.html", g.Map{"title": "Hello, GoFrame!"})
})

s.Run()
}

4. 返回文件

使用 SendFile 方法可以返回文件:
package main

import (
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/net/ghttp"
)

func main() {
s := g.Server()

s.BindHandler("/file", func(r *ghttp.Request) {
// 返回文件
r.Response.SendFile("path/to/file.txt")
})

s.Run()
}

这些是一些基本的数据返回方式,你可以根据具体的业务需求选择适合的方法。GoFrame的ghttp.Response对象提供了丰富的方法,使得数据返回变得非常灵活。


转载请注明出处:http://www.zyzy.cn/article/detail/7825/GoFrame