golang 获取api 数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 数据的主要内容,如果未能解决你的问题,请参考以下文章

Golang知乎xx API:收藏回答

VPP-API(Golang)

golang使用reflects调用方法时,方法名需要首字母大写

BIGQUERY Golang客户获取项目列表

Golang常见误区

golang web 方案