http 모듈을 이용하여 데이터와 함께 request를 하는 과정에서
헤더중 Content-Type 의 값이 매우 중요합니다.
저번엔 http 모듈을 이용하여 form data 를 보내는 방법을 살펴보았습니다.
이번엔 json을 body에 태워보내는 방법을 보도록 하겠습니다.
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 어노테이션 중 어느 것을 사용하여 파라미터와 데이터를 받는지
반드시 살펴볼 필요가 있습니다.
[Go] Golang Post formData 보내는 방법 (0) | 2022.12.09 |
---|---|
[Go] 데이터 타입 체크 (0) | 2022.11.02 |
[Go Lang] Go Schedule 1개씩 실행하기 (0) | 2022.09.07 |
[GoLang] DB 작업 중, Null 처리에 대한 문제 해결 (0) | 2022.08.31 |
Zap과 file-rotatelogs 를 통한 Custom Logging (0) | 2022.08.30 |