您的位置:首頁>公告 >

              Go-RESTful-創建RESTful API服務(三)|焦點報道

              2023-05-02 11:13:33    來源:騰訊云


              (資料圖片僅供參考)

              下面是一個完整的示例,展示如何使用Go-RESTful框架創建一個簡單的RESTful API服務。這個示例提供了兩個路由:GET /users和POST /users,分別用于獲取用戶列表和創建一個新用戶。用戶信息以JSON格式返回給客戶端。

              package mainimport (    "encoding/json"    "log"    "net/http"    "github.com/emicklei/go-restful")// 用戶結構體type User struct {    ID    int    `json:"id"`    Name  string `json:"name"`    Email string `json:"email"`}// 用戶列表var users = []User{    {ID: 1, Name: "Alice", Email: "alice@example.com"},    {ID: 2, Name: "Bob", Email: "bob@example.com"},    {ID: 3, Name: "Charlie", Email: "charlie@example.com"},}// 獲取所有用戶func getUsers(request *restful.Request, response *restful.Response) {    // 將用戶列表轉換為JSON格式,并寫入HTTP響應    response.WriteEntity(users)}// 創建一個新用戶func createUser(request *restful.Request, response *restful.Response) {    // 從HTTP請求中讀取用戶信息    var user User    err := request.ReadEntity(&user)    if err != nil {        response.WriteErrorString(http.StatusBadRequest, err.Error())        return    }    // 生成新的用戶ID    maxID := 0    for _, u := range users {        if u.ID > maxID {            maxID = u.ID        }    }    user.ID = maxID + 1    // 將新用戶添加到用戶列表    users = append(users, user)    // 返回新用戶信息    response.WriteHeaderAndEntity(http.StatusCreated, user)}func main() {    // 創建一個新的WebService對象    ws := new(restful.WebService)    // 定義路由    ws.Route(ws.GET("/users").To(getUsers))    ws.Route(ws.POST("/users").To(createUser))    // 將WebService對象注冊到RESTful框架中    restful.Add(ws)    // 啟動HTTP服務器    log.Fatal(http.ListenAndServe(":8080", nil))}

              在這個示例中,我們定義了一個名為User的結構體,用于表示用戶信息。我們還定義了一個名為users的變量,用于存儲所有用戶的列表。

              我們編寫了兩個處理函數:getUsers和createUser。getUsers函數用于返回所有用戶的列表,createUser函數用于創建一個新用戶。這兩個處理函數都遵循了Go-RESTful的處理函數簽名,并使用了Request和Response對象來處理HTTP請求和響應。

              我們還創建了一個新的WebService對象“ws”,并使用其Route方法來定義了兩個路由,分別是GET /users和POST /users。這兩個路由分別指向了不同的處理函數getUsers和createUser。

              最后,我們將WebService對象注冊到Go-RESTful框架中,并啟動了HTTP服務器。

              關鍵詞:

              相關閱讀

              久久亚洲精品无码观看不卡| 在线观看亚洲免费视频| 亚洲一级特黄大片无码毛片 | 国内精品久久久久久久亚洲| 亚洲国产高清在线一区二区三区 | 亚洲国产精品无码AAA片| 永久亚洲成a人片777777| 国产亚洲一区二区三区在线不卡| 亚洲午夜无码AV毛片久久| 亚洲熟妇少妇任你躁在线观看无码| 亚洲国产精品碰碰| 久久国产成人精品国产成人亚洲| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 亚洲国产成人精品91久久久| 成人亚洲国产精品久久| 亚洲av无码国产精品色在线看不卡 | 亚洲成aⅴ人片久青草影院按摩| 亚洲色大情网站www| 亚洲AV无码一区二区一二区| 国产精品亚洲av色欲三区| 国产亚洲Av综合人人澡精品| 亚洲第一区在线观看| 久久精品国产亚洲Aⅴ蜜臀色欲| 中文字幕日韩亚洲| 国产亚洲无线码一区二区| 亚洲V无码一区二区三区四区观看| 亚洲AV永久无码精品成人| 老司机亚洲精品影院无码| 亚洲综合激情六月婷婷在线观看 | 亚洲AV无码一区二区三区在线观看| 亚洲AV无码乱码在线观看性色扶| 久久久久亚洲AV综合波多野结衣| 亚洲伊人色欲综合网| 亚洲成a人片在线观看无码专区| 亚洲成在人天堂在线| 亚洲一级毛片免费看| 亚洲国产欧美国产综合一区| 亚洲国产成人久久笫一页| 亚洲精品无码永久在线观看你懂的 | 亚洲av日韩av永久无码电影| 亚洲精品色婷婷在线影院|