美文网首页
gf框架响应

gf框架响应

作者: 王哈哈就很棒 | 来源:发表于2020-01-09 20:28 被阅读0次
package main

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

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

    // 普通返回
    s.BindHandler("/", func(r *ghttp.Request) {
        r.Response.Write("r.Response.write...")
        r.Response.Writeln("r.Response.Writeln...")
        r.Response.Writef("r.Response.Writef")
    })

    // 输出数据后退出当前服务
    s.BindHandler("/exit", func(r *ghttp.Request) {
        r.Response.WriteExit("xxx")
        r.Response.Write("hello")
    })

    // 返回json格式
    s.BindHandler("/json", func(r *ghttp.Request) {
        r.Response.WriteJson(g.Map{
            "code": 200,
            "msg":  "ok",
        })
    })

    // 返回xml格式
    s.BindHandler("/xml", func(r *ghttp.Request) {
        r.Response.WriteXml(g.Map{
            "code": 200,
            "msg":  "ok",
        })
    })

    // 解析模板文件,也可以解析模板内容,本例就直接使用解析模板内容
    s.BindHandler("/tpl", func(r *ghttp.Request) {
        r.Response.WriteTplContent(` name: {{.name}}   age: {{.age}}`, g.Map{
            "name": "admin",
            "age":  23,
        })
    })

    // 解析模板文件或者模板内容,返回解析后的内容
    s.BindHandler("/parse_tpl", func(r *ghttp.Request) {
        content, err := r.Response.ParseTplContent(`name: {{.name}}   age: {{.age}}`, g.Map{
            "name": "admin",
            "age":  23,
        })

        if err != nil {
            panic(err)
        }

        // 返回解析回来的内容
        r.Response.Write(content)
    })

    s.Run()
}

模板解析

package main

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

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

    // 解析Config配置中的变量
    // 访问默认的配置管理(config.toml)对象配置项
    s.BindHandler("/config", func(r *ghttp.Request) {
        content := `{{.Config.server.host}}     {{.Config.server.post}}`
        r.Response.WriteTplContent(content, nil)
    })

    // 访问当前请求的Cookie对象参数值。
    s.BindHandler("/cookie", func(r *ghttp.Request) {
        r.Cookie.Set("name", "admin")

        content := `{{.Cookie.name}}`
        r.Response.WriteTplContent(content, nil)
    })

    // 访问当前请求的Session对象参数值。
    s.BindHandler("/session", func(r *ghttp.Request) {
        r.Session.Set("uid", "1001")

        content := `{{.Session.uid}}`
        r.Response.WriteTplContent(content, nil)
    })

    // 访问当前Query String中的请求参数值。
    s.BindHandler("/query", func(r *ghttp.Request) {
        content := `{{.Query.name}}`
        r.Response.WriteTplContent(content, nil)
    })

    // 访问当前表单请求参数值。
    s.BindHandler("/form", func(r *ghttp.Request) {
        content := `{{.Form.username}}`
        r.Response.WriteTplContent(content, nil)
    })

    // Request
    s.BindHandler("/request", func(r *ghttp.Request) {
        content := `{{.Request.Method}}`
        r.Response.WriteTplContent(content, nil)
    })

    s.Run()
}

相关文章

网友评论

      本文标题:gf框架响应

      本文链接:https://www.haomeiwen.com/subject/loruactx.html