通用的GET请求
实现一个通用的 GET 请求函数,该函数接受一个 URL 和一个结构体参数,并将结构体参数编码为查询参数。以下是一个通用的示例代码:
package main
import (
"fmt"
"net/http"
"net/url"
"reflect"
"strings"
)
func getFunc(baseUrl string, structParam interface{
}) {
// 创建查询参数
queryParams := url.Values{
}
v := reflect.ValueOf(structParam)
t := v.Type()
// 遍历结构体字段,将字段名和值添加到查询参数
for i := 0; i < v.NumField(); i++ {
field := t.Field(i)
value := v.Field(i)
// 使用 struct 标签中的 "query" 值作为查询参数的键名
queryKey := field.Tag.Get("query")
if queryKey == "" {
// 如果没有指定查询参数的键名,则使用字段名
queryKey = field.Name
}
// 将字段值转换为字符串并添加到查询参数
queryValue := fmt.Sprintf("%v", value

本文展示了如何使用Go语言创建通用的GET和POST请求函数,将结构体参数转化为查询字符串或JSON数据,便于高效处理API调用。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



