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