728x90
package main

import (
	"log"
	"net/http"
    "github.com/gin-gonic/gin"
)

type GetUserParams struct {
	//UIds를 int타입의 배열로 선언.
	//uid의 변수명으로 입력되는 Querystring를 배열로 선언한다.
	UIds	[]int	`form:"uid" example="uid=111&uid=222&uid=333"`
}

func GetUserHandler(c *gin.Context) {
	var params GetUserParams
	//c.ShouldBind(&params) : Querystring값을 GetUserParams로 바인딩한다. 
	if c.ShouldBind(&params) != nil {
    	c.JSON(http.StatusBadRequest, gin.H{"params": params})

    }else{
		//UIds 배열값을 로그에 출력한다.
    	for i, uid := range params.UIds {
        	log.Printf("uid[%d]:%d", i, uid)
        }
    	c.JSON(http.StatusOK, gin.H{"uids": params.UIds })
    }
}

func main(){
	r := gin.Default()
	r.GET("/user", GetUserHandler)
    r.Run(":9999")
}

// Test 
// curl "http://127.0.0.1:9999/user?uid=111&uid=213" 
// {"uids":[111,213]}
728x90
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기
반응형