go语言对接post API接口
时间: 2023-10-07 15:09:57 浏览: 97
以下是使用go语言对接post API接口的示例代码:
```go
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
// 构造请求数据
data := map[string]string{
"name": "张三",
"age": "20",
"email": "zhangsan@example.com",
}
jsonData, _ := json.Marshal(data)
body := bytes.NewBuffer(jsonData)
// 创建请求
req, err := http.NewRequest("POST", "http://example.com/api", body)
if err != nil {
// 处理错误
}
// 设置请求头
req.Header.Set("Content-Type", "application/json")
// 发送请求
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
// 处理错误
}
// 处理响应
defer resp.Body.Close()
if resp.StatusCode == http.StatusOK {
// 请求成功
// 处理响应数据
} else {
// 请求失败
// 处理错误
}
}
```
以上代码中,我们首先构造了一个`map`类型的请求数据,然后将其转换为JSON格式并存储在`bytes.Buffer`类型的`body`中。接着,我们创建了一个POST请求,并设置了请求头`Content-Type`为`application/json`,然后发送请求并处理响应。需要注意的是,我们在处理响应时使用了`defer`关键字来确保在函数返回之前关闭响应体。如果响应状态码为200,则表示请求成功,我们可以根据响应中的数据进行进一步的处理。如果响应状态码不是200,则表示请求失败,我们需要根据错误信息进行处理。
阅读全文