package main
import (
"fmt"
"github.com/vicanso/go-axios"
)
type (
// UserInfo user info
UserInfo struct {
Account string `json:"account,omitempty"`
Name string `json:"name,omitempty"`
}
)
var (
aslant = axios.NewInstance(&axios.InstanceConfig{
BaseURL: "https://aslant.site/",
})
)
// getUserInfo get user info from aslant.site
func getUserInfo() (userInfo *UserInfo, err error) {
resp, err := aslant.Get("/users/me")
if err != nil {
return
}
userInfo = new(UserInfo)
err = resp.JSON(userInfo)
if err != nil {
return
}
return
}
func main() {
done := aslant.Mock(&axios.Response{
Data: []byte(`{"account":"tree", "name":"tree.xie"}`),
Status: 200,
});
defer done()
userInfo, err := getUserInfo()
fmt.Println(err)
fmt.Println(userInfo)
}