首頁 > 軟體

Go語言入門Go Web Fiber框架快速瞭解

2022-05-20 19:04:45

Go Fiber 教學展示瞭如何使用 Fiber 框架在 Golang 中建立簡單的 Web 應用程式。

Fiber 是一個簡單快速的 Go Web 框架。 Fiber 專注於極致效能和低記憶體佔用。它的靈感來自流行的 Express JS 框架。

Fiber 建立一個 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 路徑關聯到處理常式。要建立路由,我們使用 Fiber 應用程式物件的函數。

app.Get("/", func(c *fiber.Ctx) error {
    ...
})

這裡我們將 GET 請求中傳送的 / 路徑對映到處理常式。該函數接收一個上下文物件作為引數。它儲存 HTTP 請求和響應。

Go Fiber 狀態碼

HTTP 響應狀態程式碼指示特定 HTTP 請求是否已成功完成。

回答分為五類:

  • 資訊響應 (100–199)
  • 成功響應 (200–299)
  • 重定向 (300–399)
  • 使用者端錯誤 (400–499)
  • 伺服器錯誤 (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 函數設定 HTTP 狀態程式碼。

app := fiber.New()

New 函數建立一個新的 Fiber 命名範例。

app.Get("/", func(c *fiber.Ctx) error {
    return c.SendStatus(fiber.StatusOK)
})

Get 函數為 HTTP GET 方法註冊一個路由。我們將 / 路徑對映到匿名函數;該函數返回 Fiber.StatusOK 程式碼。

Go Fiber 傳送簡訊

使用 SendString 函數傳送文字訊息。

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"))
}

當我們存取 localhost:3000/text URL 時,我們會收到一條簡單的文字訊息。

$ curl localhost:3000/text
Hello there!!

Go Fiber headers

請求物件還包括從使用者端傳送的請求檔頭。請求檔頭是 HTTP 檔頭,其中包含有關要獲取的資源以及請求資源的使用者端的更多資訊。

同樣,響應檔頭包括來自伺服器的元資訊。

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 函數返回欄位指定的 HTTP 請求檔頭。在我們的例子中,我們返回使用者代理名稱。

$ curl localhost:3000/user-agent
curl/7.74.0

Go Fiber 傳送檔案

SendFile 函數在給定路徑傳輸檔案。影象顯示在瀏覽器中。下載功能傳輸影象;該影象由瀏覽器作為附件提供。

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 路徑。影象儲存在資料目錄中。

以上就是Go語言入門Go Web Fiber框架快速瞭解的詳細內容,更多關於Go Web Fiber框架的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com