hoony's web study

728x90
반응형


1. 개요

 

http 모듈을 이용하여 데이터와 함께 request를 하는 과정에서

 

헤더중 Content-Type 의 값이 매우 중요합니다.

 

저번엔 http 모듈을 이용하여 form data 를 보내는 방법을 살펴보았습니다.

 

이번엔 json을 body에 태워보내는 방법을 보도록 하겠습니다.

 

2. 예제

 

var reqJson = PostParam{
   FileIdx: v.FileIdx,
   Format:  "mp4",
   Codec:   "h264",
}

pBytes, _ := json.Marshal(reqJson)
buff := bytes.NewBuffer(pBytes)
req, err := http.NewRequest("POST", fileEncodingUri, buff)
//Content-Type 헤더 추가
req.Header.Add("Content-Type", "application/json")

// Client객체에서 Request 실행
client := &http.Client{}
pResp, err := client.Do(req)
if err != nil {
   panic(err)
}
defer pResp.Body.Close()

pRespBdata, _ := ioutil.ReadAll(pResp.Body)
fmt.Println(string(pRespBdata))

 

위의 방법을 통하여, 간단하게 요청하실 수 있습니다.

 

* 소소한 팁
    : 만약 API Server를 Java로 구성하였다면 @RequestParam 은 Body의 Raw Data를 인지하지 못한다는것

      @RequestBody와 @RequestParam 어노테이션 중 어느 것을 사용하여 파라미터와 데이터를 받는지

       반드시 살펴볼 필요가 있습니다.

728x90

공유하기

facebook twitter kakaoTalk kakaostory naver band
loading