Mahesh Haldar
Mahesh Haldar

Reputation: 591

Golang NewRequest passing POST parameter to the API for testing

This is my test method which creates a new request and passes POST param.

url1 := "/api/addprospect"
data := url.Values{}
data.Add("customer_name", "value")
b := bytes.NewBuffer([]byte(data.Encode()))
request, err := http.NewRequest("POST", serverHttp.URL+url1, b)
res, err := http.DefaultClient.Do(request)

The problem is the POST param is not getting picked up by the function handler of the url.

Can you please help me with setting up right request?

Thanks

Upvotes: 0

Views: 1401

Answers (1)

Not_a_Golfer
Not_a_Golfer

Reputation: 49187

You need to properly set the content-type header for your request.

request, err := http.NewRequest("POST", serverHttp.URL+url1, b)

request.Header.Set("Content-Type", "application/x-www-form-urlencoded")

res, err := http.DefaultClient.Do(request)

Upvotes: 1

Related Questions