hoony's web study

728x90
반응형


Go로 get으로는 값을 받아보았는데  Post를 이용하는 방법에 대해서는 정리를 한 것이 없어서 오늘은 이것에 대해서 포스팅을 하여드립니다.

Post로 파라미터를 보내는 방법

보내실 파라미터를 저는 struct로 선언을 해서 사용을 하였습니다.
아래에서 보여드리는 부분은 예시이므로 이 포스팅을 보시고 사용하실 분들은 본인들의 환경에 맞게 선언하시고 사용하시면 됩니다.

type ParamJSON struct {
	UserName       string  `json:"UserName"`
	Password       string  `json:"Password"`
	PackageID      int64   `json:"PackageId"` 
	Languages      []int64 `json:"Languages"`
}

위와같이 보낼 파라미터에 대해서 선언을 했습니다.
그럼 post로는 어떻게 사용을 하는지 예시를 들어 보여드리겠습니다.

   byteData, _ := json.Marshal(ParamJson)
                   => json 인코딩 
	var jsonStr = []byte(string(byteData))
                  => byte 배열로 변환 
	req, err := http.NewRequest("POST", uri, bytes.NewBuffer(jsonStr))
                  => 위의 방식으로 POST 실행 
	req.Header.Set("X-Custom-Header", "myvalue")
	req.Header.Set("Content-Type", "application/json")

	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()

	fmt.Println("response Status:", resp.Status)
	fmt.Println("response Headers:", resp.Header)
	body, _ := ioutil.ReadAll(resp.Body)
    => 받아온 파라미터를 받아서 해석

위의 예시처럼 사용하시면 편하게 사용 가능하십니다. ^^ 

반응형

 

728x90

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading