go requests的工作过程是什么
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,本篇内容主要讲解"go requests的工作过程是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"go requests的工作过程是什么"吧!gith
千家信息网最后更新 2026年11月03日go requests的工作过程是什么
本篇内容主要讲解"go requests的工作过程是什么",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"go requests的工作过程是什么"吧!
github.com/asmcos/requests
最开始尝试用map[string]string或map[string]interface{}接受数据,发现接受之后取复杂对象类型中的数据比较麻烦,就想到了先看接口返回数据的具体格式,构造下结构体去接收;
由于给的接口文档并没有将请求token和请求数据两个接口的正确和错误字段[类型给出],所以改结构体的字段类型多试了几遍、但是请求接口错误信息没法模拟,就根据写python时候的经验加了能记起来的Result参数;
请求接口正确和错误情况下包含的字段完全不同,但是这边都构造在了接受的结构体对象中,不知道这么处理正确么
package hrimport ( "gitee.com/RandolphCYG/akita/pkg/log" "github.com/asmcos/requests")// HrToken 获取token接口返回数据结构体type HrToken struct { // 正确时候 AccessToken string `json:"access_token"` ExpiresIn int `json:"expires_in"` Scope string `json:"scope"` TokenType string `json:"token_type"` // 错误时候 Code int `json:"code"` Error string `json:"error"` ErrorDescription string `json:"error_description"` Message string `json:"message"` Success bool `json:"success"`}// HrData HR数据接口返回数据结构体type HrData struct { Content []HrUser `json:"content"` Empty bool `json:"empty"` Number int `json:"number"` NumberOfElements int `json:"numberOfElements"` Size int `json:"size"` TotalElements int `json:"totalElements"` TotalPages int `json:"totalPages"` // 出错时候 Result string `json:"result"`}// HrUser 数据接口查询的用户信息结构体type HrUser struct { CompanyCode string `json:"company_code"` CompanyName string `json:"company_name"` Name string `json:"ename"` Department string `json:"org_all"` Eid string `json:"pernr"` Stat string `json:"stat2"` Mobile string `json:"usrid"` Mail string `json:"usrid_long"` Title string `json:"zmplans"`}// HrDataConn HR数据模型type HrDataConn struct { // 获取 token 的 URL UrlGetToken string `json:"url_get_token" gorm:"type:varchar(255);not null;comment:获取token的地址"` // 获取 数据 的URL UrlGetData string `json:"url_get_data" gorm:"type:varchar(255);not null;comment:获取数据的地址"`}// FetchToken 获取tokenfunc FetchToken(h *HrDataConn) (token HrToken) { req := requests.Requests() respFetchToken, err := req.Post(h.UrlGetToken) if err != nil { // 抛错 log.Log().Error("fetch token failed,err:%v\n", err) return } // 反序列化 err = respFetchToken.Json(&token) if err != nil { // 抛错 log.Log().Error("convert response to json failed,err:%v\n", err) return } if !token.Success { // 抛错 log.Log().Error(token.ErrorDescription) return } return}// FetchHrData 带着token去获取HR数据func FetchHrData(h *HrDataConn) (hrUsers []HrUser) { req := requests.Requests() hrToken := FetchToken(h) header := requests.Header{ "Authorization": hrToken.TokenType + " " + hrToken.AccessToken, "Content-Type": "application/json;charset=UTF-8", } // 发送请求 respFetchData, err := req.Post(h.UrlGetData, header) if err != nil { log.Log().Error("fetch hr data failed,err:%v\n", err) return } var hrdata HrData respFetchData.Json(&hrdata) // 返回数据是否有报错字段 if hrdata.Result != "" { log.Log().Error("fetch hr data failed,err%v\n", hrdata.Result) return } hrUsers = hrdata.Content return}到此,相信大家对"go requests的工作过程是什么"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
数据
接口
结构
字段
时候
错误
过程
工作
类型
信息
内容
地址
对象
数据结构
学习
查询
不同
复杂
实用
更深
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡网
咖啡豆
互联网科技公司起名
互联网科技有限公司图片
广州互联网科技公司
互联网科技媒体
郑州华宇互联网科技
互联网 科技服务平台
无锡溥仪互联网科技有限公司
央行互联网金融科技公司
移动互联网科技股
中化能源互联网科技招聘
互联网科技大奖都有哪些公司
中国互联网公司排名锤子科技
济南有互联网科技公司吗
互联网金融科技元年
厦门江牛科技互联网
风投北京互联网科技
新氧科技和美国互联网有关系吗
科技互联网企业在行动
互联网科技会
善班互联网科技
未来的互联网科技
科技与互联网的利与弊
互联网科技的全部知识
四川慕妮娅互联网科技有限公司
互联网金融科技元年
玉溪新华互联网科技怎么选
互联网领先科技成果宣传视频
互联网科技自媒体灵感