第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

無法使用 protobuf 生成空數(shù)組/golang 代碼片段

無法使用 protobuf 生成空數(shù)組/golang 代碼片段

Go
蝴蝶刀刀 2023-07-26 09:18:15
我們希望將一個(gè)具有一個(gè)屬性的對象/結(jié)構(gòu)作為 golang 中的空列表/數(shù)組/切片返回給客戶端(瀏覽器)。從 go 代碼中,我們返回 len=0 和capacity=0 的空切片,但是通過 protobuf 這個(gè)鍵被刪除或設(shè)置為 nil 并被刪除。原始緩沖區(qū)代碼syntax = "proto3";package version1;message ToDo {? ? ?int64 id = 1 ;? ? ?string title = 2;}message ReadAllResponse{? ? ?repeated? ?ToDo? toDos = 1 ;}戈蘭代碼:list := make([]*version1.ToDo, 0) //[]*version1.ToDo{}output:= version1.ReadAllResponse{? ? ? ? ToDos: list,? ? ? ? Api:? ?"v1",? ? }我得到的實(shí)際輸出是, {api: "v1"}但預(yù)期應(yīng)該是{api: "v1",todos:[]}請幫助/建議我們修復(fù) protobuf 或 golang 語法。
查看完整描述

1 回答

?
一只斗牛犬

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊

當(dāng)grpc-gateway使用 jsonpb 序列化器將 proto 結(jié)構(gòu)序列化為 json時(shí),您的數(shù)組字段會(huì)丟失。

幸運(yùn)的是,網(wǎng)關(guān)公開了一種在設(shè)置網(wǎng)關(guān)時(shí)配置 jsonpb 序列化器的方法:

mux?:=?runtime.NewServeMux(runtime.WithMarshalerOption(runtime.MIMEWildcard,?&runtime.JSONPb{?EmitDefaults:true}))

該?&runtime.JSONPb{ EmitDefaults:true}選項(xiàng)應(yīng)該執(zhí)行您想要的操作。


查看完整回答
反對 回復(fù) 2023-07-26
  • 1 回答
  • 0 關(guān)注
  • 300 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號