1
我想了解有关golang,gRPC和protobuf的良好实践。gRPC服务器错误处理程序golang
我采取以下GRPC服务
service MyService {
rpc dosomethink(model.MyModel) returns (model.Model) {
option (google.api.http) = { post: "/my/path" body: "" };
}
}
我编译protobufs。实际上,protobuf给了我们一个从http到grpc的httpproxy。
的代码来实现这一服务:
import "google.golang.org/grpc/status"
func (Abcd) Dosomethink(c context.Context, sessionRequest *model.MyModel) (*model.Model, error) {
return nil, status.New(400,"Default error message for 400")
}
我希望有一个400 HTTP错误(HTTP代理)消息“400默认的错误消息”,消息的工作,但总是HTTP错误是500.
您知道有关此信息的任何文章或文档吗?
谢谢你,现在它的工作。 我想添加一条评论,说明如果不是直接使用grpc/codes包中的代码,那么代码将不会直接使用http(200,300,400 ...) – own3dh2so4