golang 獲取api 數據
直接上代碼
type ApiRequest interface{}
//參數 e 一個空接口,f http請求連接, p 請求方式 參數為 “POST” 或 “GET”
func FromApiGetData(e *ApiRequest, f *PostUrl, p string) (string, error) {
jsons, errs := json.Marshal(e)
if errs != nil {
fmt.Println(errs.Error())
}
fmt.Println(string(jsons))
req, err := http.NewRequest(p, f.Url, bytes.NewBuffer([]byte(string(jsons))))
req.Header.Set("Content-Type", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
//status := resp.Status
//headers := resp.Header
body, _ := ioutil.ReadAll(resp.Body)
bodys := string(body)
return bodys, nil
}
註:空接口 在main 中定義 例如
type PostConLogin struct {
Email string `json:"email"`
Password string `json:"password"`
}
m := PostConLogin{Email: "[email protected]", Password: "123456"}; var v ApiRequest = m
golang 獲取api 數據