feat: 启用API响应解析逻辑
This commit is contained in:
45
http/http.go
45
http/http.go
@@ -2,6 +2,7 @@ package http
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
"reflect"
|
"reflect"
|
||||||
@@ -129,28 +130,28 @@ func doRequest(ctx context.Context, method string, url string, headers map[strin
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer response.Close()
|
defer response.Close()
|
||||||
//result := response.ReadAll()
|
result := response.ReadAll()
|
||||||
//
|
|
||||||
//// 统一处理内部API响应格式:{code:200,message:"",data:{...}}
|
// 统一处理内部API响应格式:{code:200,message:"",data:{...}}
|
||||||
//resultStrut := &ghttp.DefaultHandlerResponse{}
|
resultStrut := &ghttp.DefaultHandlerResponse{}
|
||||||
//
|
|
||||||
//if err = gconv.Struct(result, &resultStrut); err != nil { // 修复:增加err检查
|
if err = gconv.Struct(result, &resultStrut); err != nil { // 修复:增加err检查
|
||||||
// return errors.New("响应解析失败: " + err.Error())
|
return errors.New("响应解析失败: " + err.Error())
|
||||||
//}
|
}
|
||||||
//
|
|
||||||
//// 添加调试日志:打印解析后的结构
|
// 添加调试日志:打印解析后的结构
|
||||||
//g.Log().Debugf(ctx, "[HTTP] 解析后结构: Code=%d, Message=%s, Data类型=%T, Data值=%+v",
|
g.Log().Debugf(ctx, "[HTTP] 解析后结构: Code=%d, Message=%s, Data类型=%T, Data值=%+v",
|
||||||
// resultStrut.Code, resultStrut.Message, resultStrut.Data, resultStrut.Data)
|
resultStrut.Code, resultStrut.Message, resultStrut.Data, resultStrut.Data)
|
||||||
//
|
|
||||||
//if resultStrut.Code == 200 || resultStrut.Code == 0 {
|
if resultStrut.Code == 200 || resultStrut.Code == 0 {
|
||||||
// if err = gconv.Struct(resultStrut.Data, target); err != nil { // 修复:增加err检查
|
if err = gconv.Struct(resultStrut.Data, target); err != nil { // 修复:增加err检查
|
||||||
// return errors.New("数据解析失败: " + err.Error())
|
return errors.New("数据解析失败: " + err.Error())
|
||||||
// }
|
}
|
||||||
// // 添加调试日志:打印最终的target
|
// 添加调试日志:打印最终的target
|
||||||
// g.Log().Debugf(ctx, "[HTTP] 最终target: %+v", target)
|
g.Log().Debugf(ctx, "[HTTP] 最终target: %+v", target)
|
||||||
//} else {
|
} else {
|
||||||
// err = errors.New(resultStrut.Message)
|
err = errors.New(resultStrut.Message)
|
||||||
//}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
func Get(ctx context.Context, url string, headers map[string]string, target any, data ...any) (err error) {
|
func Get(ctx context.Context, url string, headers map[string]string, target any, data ...any) (err error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user