2 回答
TA貢獻1783條經驗 獲得超5個贊
也許你應該使用map[string]interface{}
或者您也可以strings.NewReader直接使用發送請求
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "http://localhost:8080"
method := "POST"
payload := strings.NewReader(`{
"name": "Flank",
"age": 21,
"nationality": ["Britan"]
}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
TA貢獻1111條經驗 獲得超0個贊
你應該使用 map[string]interface{} 而不是 map[string]string
作為此鏈接(https://go.dev/blog/maps):
映射[鍵類型]值類型
其中 KeyType 可以是任何可比較的類型,而 ValueType 可以是任何類型,包括另一個映射!
你的 body 既有 string 又有 slice 類型,所以 ValueType 是 interface{} 比 string 好。
- 2 回答
- 0 關注
- 86 瀏覽
添加回答
舉報
