【資料圖】
數(shù)據(jù)格式
在設(shè)計(jì) API 接口時(shí),需要考慮如何表示數(shù)據(jù)。通常,數(shù)據(jù)應(yīng)該表示為資源的表示形式,例如 JSON 或 XML。以下是一個(gè)示例,演示如何使用 JSON 表示數(shù)據(jù):
type Book struct { ID int `json:"id"` Title string `json:"title"` Author string `json:"author"`}func getBooksHandler(req *restful.Request, res *restful.Response) { books := []Book{ {ID: 1, Title: "The Go Programming Language", Author: "Alan A. A. Donovan and Brian W. Kernighan"}, {ID: 2, Title: "Effective Go", Author: "The Go Authors"}, } res.WriteAsJson(books)}func main() { ws := new(restful.WebService) ws.Route(ws.GET("/books").To(getBooksHandler)) restful.Add(ws) http.ListenAndServe(":8080", nil)}
在這個(gè)示例中,我們編寫了一個(gè)名為 Book 的結(jié)構(gòu)體,表示書籍的屬性。然后,我們編寫了一個(gè)名為 getBooksHandler 的處理程序,返回一個(gè)包含兩本書籍的數(shù)組。最后,我們使用 res.WriteAsJson()將書籍?dāng)?shù)組作為 JSON 格式寫入 HTTP 響應(yīng)中。