介紹
GoHttpServer 是由 Go 語言開發的輕量級 HTTP 伺服器,它提供了路由、參數解析等常見 HTTP 伺服器功能,可以快速搭建 Web 應用。
安裝
通過 go get 命令下載安裝:
$ go get github.com/gofiber/fiber/v2
使用
創建伺服器
在 GoHttpServer 中,可以通過調用 Router() 方法創建伺服器:
app := fiber.New()
路由
路由是 Web 開發中的基礎之一,GoHttpServer 內置了路由功能,可以通過調用相應方法實現 GET、POST、DELETE、PUT 等 HTTP 動詞。
GET 請求
可以使用 app.Get() 方法處理 GET 請求,如:
app.Get("/", func(c *fiber.Ctx) error {
return c.SendString("你好,世界!")
})
POST 請求
可以使用 app.Post() 方法處理 POST 請求,如:
app.Post("/", func(c *fiber.Ctx) error {
return c.SendString("POST請求")
})
DELETE 請求
可以使用 app.Delete() 方法處理 DELETE 請求,如:
app.Delete("/", func(c *fiber.Ctx) error {
return c.SendString("DELETE請求")
})
PUT 請求
可以使用 app.Put() 方法處理 PUT 請求,如:
app.Put("/", func(c *fiber.Ctx) error {
return c.SendString("PUT請求")
})
參數解析
GoHttpServer 內置了參數解析功能,可以通過調用相應方法獲取請求中的參數值。
獲取 URL 參數
可以使用 c.Params() 方法獲取 URL 中的參數值,如:
app.Get("/:name", func(c *fiber.Ctx) error {
return c.SendString("Hello, " + c.Params("name") + "!")
})
獲取 POST 數據
可以使用 c.Body() 方法獲取 POST 請求中的請求體數據,如:
app.Post("/", func(c *fiber.Ctx) error {
name := c.Body("name")
age := c.Body("age")
return c.SendString("姓名:" + name + ",年齡:" + age)
})
獲取 Query 參數
可以使用 c.Query() 方法獲取 GET 請求中的 Query 參數值,如:
app.Get("/", func(c *fiber.Ctx) error {
name := c.Query("name")
age := c.Query("age")
return c.SendString("姓名:" + name + ",年齡:" + age)
})
中間件
GoHttpServer 支持中間件(Middleware)。
使用全局中間件
可以使用 Use() 方法為應用程序添加全局中間件,如:
app.Use(func(c *fiber.Ctx) error {
fmt.Println("處理請求前執行的中間件 #1")
return c.Next()
})
app.Use(func(c *fiber.Ctx) error {
fmt.Println("處理請求前執行的中間件 #2")
return c.Next()
})
使用路由中間件
可以使用 Use() 方法為應用程序添加路由中間件,如:
app.Get("/", func(c *fiber.Ctx) error {
fmt.Println("路由處理前執行的中間件 #1")
return c.Next()
}, func(c *fiber.Ctx) error {
fmt.Println("路由處理前執行的中間件 #2")
return c.SendString("Hello, World!")
})
總結
GoHttpServer 是一個輕量級 HTTP 伺服器,它提供了路由、參數解析等常見 HTTP 伺服器功能,也支持中間件。使用 GoHttpServer 可以快速搭建 Web 應用。
原創文章,作者:SHDUR,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/361583.html