AdSense

網頁

2021/7/7

Golang Gin Web Framework hello world範例

Gin是Go語言的Web框架(網路應用程式框架)。本篇為最簡單的hello world範例。


範例環境:

  • Go 1.16
  • Gin 1.7.2

本篇參考官方文件的[Quick start](其實就複製貼上^_^)。


參考「Golang 使用VSCode寫hello world程式」建立好專案,下面依此進行修改。


main.go的內容修改如下,裡面使用gin設定了一個REST API GET| /hello及返回json內容。

main.go

package main

import "github.com/gin-gonic/gin"

func main() {
    router := gin.Default() // get gin engine
    router.GET("/hello", func(c *gin.Context) {
        c.JSON(200, gin.H{ // response json
            "message": "hello world",
        })
    })
    router.Run()
}

在專案根目錄以命令列執行go mod tidy下載gin module。

在專案跟目錄(即main.go所在目錄)執行go run main.go啟動程式。

../demo$ go run main.go
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:   export GIN_MODE=release
 - using code:  gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET    /hello                    --> main.main.func1 (3 handlers)
[GIN-debug] Environment variable PORT is undefined. Using port :8080 by default
[GIN-debug] Listening and serving HTTP on :8080

啟動後在瀏覽器url輸入http://localhost:8080/hello可得到返回的hello world訊息。




或利用Linux curl命令(Windows要另外裝)發送http request curl http://localhost:8080/hello

$ curl http://localhost:8080/hello
{"message":"hello world"}

在啟動gin的命令列可看到接收request的訊息。

[GIN] 2021/07/07 - 16:45:48 | 200 |      90.726µs |             ::1 | GET      "/hello"

參考github


沒有留言:

AdSense