标签:return err nil grpc res 22 ids json 07
grpc接口调用
func (d *Dao) DynamicSearch(ctx context.Context, mid, vmid int64, keyword string, pn int, ps int) (dynamicIDs []int64, total int32, err error) {
start := int32((pn - 1) * ps)
req := &dynamicsearchgrpc.PersonalSearchReq{
Keywords: keyword,
Start: start,
Limit: int32(ps),
Mid: mid,
UpId: vmid,
}
reply, err := d.dynamicSearchClient.PersonalSearch(ctx, req)
if err != nil {
return nil, 0, err
}
var ids []int64
for _, v := range reply.GetDynamics() {
ids = append(ids, v.DynamicId)
}
return ids, reply.GetTotal(), nil
}
dynamicSearchClient dynamicSearchgrpc.DynamicSearchServiceClient 注意初始化NewClient()防止空指针
http接口调用(透传)
发送请求调用http接口,不关心透传对象内容,只需返回结果。
注意配置中心配置
func (d *Dao) DynamicDetail(ctx context.Context, mid int64, dynamicIDs []int64) (json.RawMessage, error) {
params := url.Values{}
params.Set("uid", strconv.FormatInt(mid, 10))
for _, id := range dynamicIDs {
params.Add("dynamic_ids[]", strconv.FormatInt(id, 10))
}
var res struct {
Code int `json:"code"`
Data struct {
Cards json.RawMessage `json:"cards"`
} `json:"data"`
}
if err := d.httpDynamic.Get(ctx, d.dynamicInfoURL, "", params, &res); err != nil {
return nil, err
}
if res.Code != ecode.OK.Code() {
return nil, errors.Wrap(ecode.Int(res.Code), d.dynamicInfoURL+"?"+params.Encode())
}
return res.Data.Cards, nil
}
标签:return,err,nil,grpc,res,22,ids,json,07 来源: https://blog.csdn.net/m0_47119598/article/details/119041319
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。