網頁

2021/7/7

Golang Gin url request query string as map

Gin應用程式REST API取得url請求參數(query string)時,參數可以map的形式傳遞。


範例環境:

  • Go 1.16
  • Gin 1.7.2

Gin在設定API路徑時使用gin.ContextQueryMap(key string)取得map形式的請求參數。

例如下面的API/hello取得map請求參數names

main.go

package main

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

func main() {
    router := gin.Default()

    router.GET("/hello", func(c *gin.Context) {
        names := c.QueryMap("names")
        c.JSON(200, names)
    })

    router.Run()
}

啟動專案用curl命令發送http request curl "http://localhost:8080/hello?names[1]=john&names[2]=mary"結果如下。注意使用&連接多個請求參數時,要在url的前後以雙引號"包起,否則shell會誤認為背景執行符

$ curl "http://localhost:8080/hello?names[1]=john&names[2]=mary"
{"1":"john","2":"mary"}


沒有留言:

張貼留言