我想將 gRPC 編譯器直接生成的 go 結(jié)構(gòu)用于數(shù)據(jù)庫事務(wù),但問題是jsongRPC 僅設(shè)置了序列化字段。有沒有辦法設(shè)置額外的序列化密鑰(如下所示),或者是否有另一種特定于 golang 的方式來告訴數(shù)據(jù)庫驅(qū)動程序(sqlx在上面database/sql)json應(yīng)該使用密鑰格式?一些示例 - gRPC 編譯器創(chuàng)建以下結(jié)構(gòu):type HelloWorld struct { TraceId string `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"`...我想擁有的:type HelloWorld struct { TraceId string `db:"trace_id" protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"`...一個(gè)臨時(shí)的解決方法是編寫使用別名的 sql 查詢(traceid而不是trace_id在本示例中),但感覺不一致并增加了很多復(fù)雜性。
1 回答
桃花長相依
TA貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊
我認(rèn)為目前沒有內(nèi)置的方法可以做到這一點(diǎn)。但是,您可能有興趣關(guān)注此線程:https ://github.com/golang/protobuf/issues/52
除此之外,我認(rèn)為您可以為數(shù)據(jù)庫訪問創(chuàng)建另一個(gè)結(jié)構(gòu)并使映射顯式,這可能更具可讀性。
- 1 回答
- 0 關(guān)注
- 182 瀏覽
添加回答
舉報(bào)
0/150
提交
取消
