Go語言入門Go?Web?Fiber框架快速了解
Go Fiber 教程展示了如何使用 Fiber 框架在 Golang 中創(chuàng)建簡單的 Web 應(yīng)用程序。
Fiber 是一個簡單快速的 Go Web 框架。 Fiber 專注于極致性能和低內(nèi)存占用。它的靈感來自流行的 Express JS 框架。
Fiber 創(chuàng)建一個 HelloWorld
package main import ( "log" "github.com/gofiber/fiber/v2" ) func main() { app := fiber.New() app.Get("/", func (c *fiber.Ctx) error { return c.SendString("Hello, World!") }) log.Fatal(app.Listen(":3000")) }
Fiber 路由
路由將 HTTP 動詞(例如 GET、POST、PUT、DELETE)和 URL 路徑關(guān)聯(lián)到處理函數(shù)。要創(chuàng)建路由,我們使用 Fiber 應(yīng)用程序?qū)ο蟮暮瘮?shù)。
app.Get("/", func(c *fiber.Ctx) error { ... })
這里我們將 GET 請求中發(fā)送的 / 路徑映射到處理函數(shù)。該函數(shù)接收一個上下文對象作為參數(shù)。它保存 HTTP 請求和響應(yīng)。
Go Fiber 狀態(tài)碼
HTTP 響應(yīng)狀態(tài)代碼指示特定 HTTP 請求是否已成功完成。
回答分為五類:
- 信息響應(yīng) (100–199)
- 成功響應(yīng) (200–299)
- 重定向 (300–399)
- 客戶端錯誤 (400–499)
- 服務(wù)器錯誤 (500–599)
package main import ( "log" "github.com/gofiber/fiber/v2" ) func main() { app := fiber.New() app.Get("/", func(c *fiber.Ctx) error { return c.SendStatus(fiber.StatusOK) }) log.Fatal(app.Listen(":3000")) }
SendStatus 函數(shù)設(shè)置 HTTP 狀態(tài)代碼。
app := fiber.New()
New 函數(shù)創(chuàng)建一個新的 Fiber 命名實例。
app.Get("/", func(c *fiber.Ctx) error { return c.SendStatus(fiber.StatusOK) })
Get 函數(shù)為 HTTP GET 方法注冊一個路由。我們將 / 路徑映射到匿名函數(shù);該函數(shù)返回 Fiber.StatusOK 代碼。
Go Fiber 發(fā)送短信
使用 SendString 函數(shù)發(fā)送文本消息。
package main import ( "log" "github.com/gofiber/fiber/v2" ) func main() { app := fiber.New() app.Get("/text", func(c *fiber.Ctx) error { return c.SendString("Hello there!!") }) log.Fatal(app.Listen(":3000")) }
當(dāng)我們訪問 localhost:3000/text URL 時,我們會收到一條簡單的文本消息。
$ curl localhost:3000/text Hello there!!
Go Fiber headers
請求對象還包括從客戶端發(fā)送的請求標(biāo)頭。請求標(biāo)頭是 HTTP 標(biāo)頭,其中包含有關(guān)要獲取的資源以及請求資源的客戶端的更多信息。
同樣,響應(yīng)標(biāo)頭包括來自服務(wù)器的元信息。
package main import ( "log" "github.com/gofiber/fiber/v2" ) func main() { app := fiber.New() app.Get("/", func(c *fiber.Ctx) error { return c.SendString("Main page") }) app.Get("/user-agent", func(c *fiber.Ctx) error { ua := c.Get("User-Agent") return c.SendString(ua) }) log.Fatal(app.Listen(":3000")) }
Get 函數(shù)返回字段指定的 HTTP 請求標(biāo)頭。在我們的例子中,我們返回用戶代理名稱。
$ curl localhost:3000/user-agent curl/7.74.0
Go Fiber 發(fā)送文件
SendFile 函數(shù)在給定路徑傳輸文件。圖像顯示在瀏覽器中。下載功能傳輸圖像;該圖像由瀏覽器作為附件提供。
package main import ( "log" "github.com/gofiber/fiber/v2" ) func main() { app := fiber.New() app.Get("/sid", func(c *fiber.Ctx) error { return c.Download("./data/sid.png") }) app.Get("/sid2", func(c *fiber.Ctx) error { return c.SendFile("./data/sid.png") }) log.Fatal(app.Listen(":3000")) }
在示例中,我們有用于顯示和下載圖像的 URL 路徑。圖像存儲在數(shù)據(jù)目錄中。
以上就是Go語言入門Go Web Fiber框架快速了解的詳細(xì)內(nèi)容,更多關(guān)于Go Web Fiber框架的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Ubuntu下安裝Go語言開發(fā)環(huán)境及編輯器的相關(guān)配置
這篇文章主要介紹了Ubuntu下安裝Go語言開發(fā)環(huán)境及編輯器的相關(guān)配置,編輯器方面介紹了包括Vim和Eclipse,需要的朋友可以參考下2016-02-02詳解Go語言微服務(wù)開發(fā)框架之Go chassis
分布式系統(tǒng)中每個進(jìn)程的動態(tài)配置管理及運行時熱加載就成為了一個亟待解決的問題。go chassis汲取了netflix的archaius框架經(jīng)驗,并做出來自己的創(chuàng)新特性。2021-05-05Go語言使用net/http實現(xiàn)簡單登錄驗證和文件上傳功能
這篇文章主要介紹了Go語言使用net/http實現(xiàn)簡單登錄驗證和文件上傳功能,使用net/http模塊編寫了一個簡單的登錄驗證和文件上傳的功能,在此做個簡單記錄,需要的朋友可以參考下2023-07-07