(資料圖片)
返回數據
在 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
、年齡為 30
的 Person
對象。然后,我們使用 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 寫入響應體中。
標簽: