1 Star 0 Fork 0

Coder/gox

Create your Gitee Account
Explore and code with more than 13.5 million developers,Free private repositories !:)
Sign up
文件
Clone or Download
msgproto.go 782 Bytes
Copy Edit Raw Blame History
Coder authored 8 months ago . init
package msgproto
import (
"encoding/json"
"reflect"
"google.golang.org/protobuf/proto"
)
// AdaptArgs create the params a handler method need
func AdaptArgsFromProto(types []reflect.Type, param interface{}) reflect.Value {
data := reflect.New(types[1].Elem()).Interface()
pb, ok := data.(proto.Message)
if !ok {
return reflect.Zero(nil)
}
err := proto.Unmarshal(param.([]byte), pb)
if err != nil {
return reflect.Zero(nil)
}
return reflect.ValueOf(data)
}
// AdaptArgs create the params a handler method need
func AdaptArgsFromJson(types []reflect.Type, param interface{}) reflect.Value {
data := reflect.New(types[1].Elem()).Interface()
err := json.Unmarshal(param.([]byte), data)
if err != nil {
return reflect.Zero(nil)
}
return reflect.ValueOf(data)
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/andyxt/gox.git
git@gitee.com:andyxt/gox.git
andyxt
gox
gox
v1.0.51

Search