(資料圖片)

返回數據

在 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 := `                    Hello, world!                

Hello, world!

` 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 寫入響應體中。

標簽: