首页后端开发GOGo-RESTful-处理请求和响应(二)

Go-RESTful-处理请求和响应(二)

时间2023-07-05 14:18:01发布访客分类GO浏览1386
导读:返回数据在 Go-RESTful 中,可以使用 Response 对象来返回数据。 Response 对象有许多方法可用于设置响应头、状态码和响应正文。以下是一个示例,演示如何返回 JSON 数据:type Person struct {...

返回数据

在 Go-RESTful 中,可以使用 Response 对象来返回数据。 Response 对象有许多方法可用于设置响应头、状态码和响应正文。

以下是一个示例,演示如何返回 JSON 数据:

type Person struct {

    Name string `json:"name"`
    Age  int    `json:"age"`
}


func getPersonHandler(req *restful.Request, res *restful.Response) {
    
    // 从数据库中获取 Person 对象
    person := &
Person{

        Name: "Alice",
        Age:  30,
    }

    res.WriteAsJson(person)
}


func main() {

    ws := new(restful.WebService)
    ws.Route(ws.GET("/people/{
id}
").To(getPersonHandler))
    restful.Add(ws)
    http.ListenAndServe(":8080", nil)
}

在这个示例中,我们编写了一个名为 getPersonHandler 的处理程序,它从数据库中获取一个名为 Alice、年龄为 30Person 对象。然后,我们使用 res.WriteAsJson() 方法将该对象作为 JSON 格式写入响应体中。

除了 JSON,还可以使用其他格式返回数据,例如 XML、HTML 或纯文本。以下是一个示例,演示如何返回 HTML:

func indexHandler(req *restful.Request, res *restful.Response) {
    
    html := `
    !DOCTYPE html>
    
    html>
    
    head>
    
        title>
    Hello, world!/title>
    
    /head>
    
    body>
    
        h1>
    Hello, world!/h1>
    
    /body>
    
    /html>

    `
    res.Write([]byte(html))
}


func main() {

    ws := new(restful.WebService)
    ws.Route(ws.GET("/").To(indexHandler))
    restful.Add(ws)
    http.ListenAndServe(":8080", nil)
}
    

在这个示例中,我们编写了一个名为 indexHandler 的处理程序,它返回一个包含简单 HTML 页面的字符串。然后,我们使用 res.Write() 方法将该字符串作为 HTML 写入响应体中。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

go

若转载请注明出处: Go-RESTful-处理请求和响应(二)
本文地址: https://pptw.com/jishu/290359.html
MYSQL INNODB ibd文件详解 (2) 提取DDL和DML Go-RESTful-设计API接口(一)

游客 回复需填写必要信息