缺少某些方法: mustEmbedUnimplementedJobServiceServer()

编辑于 2022-10-22 13:49:45 阅读 1821

默认情况下,要使用此工具生成的方法注册服务,服务实现必须嵌入相应的Unimplemented<ServiceName>Server,以实现未来的兼容性。这是与之前包含在protoc-gen-go中包含的grpc代码生成器的行为更改。要恢复此行为,请设置require_unimplemented_servers=false选项。例如:

protoc --go-grpc_out=require_unimplemented_servers=false[,other options...]:. \

请注意,不建议这样做,并且仅提供该选项来恢复与之前生成的代码向后兼容性。

建议的做法是,在你的实现(blogServer)文件中添加如下代码

...

type blogServer struct {
	*blogv1.UnimplementedBlogServiceServer //解决"missing mustEmbedUnimplementedBlogServiceServer method"的问题
}

//func (s *blogServer) mustEmbedUnimplementedBlogServiceServer() {
//	//为了解决"missing mustEmbedUnimplementedBlogServiceServer method"的问题,但我测试时不好使
//}
...

来源

https://github.com/grpc/grpc-go/blob/master/cmd/protoc-gen-go-grpc/README.md

广而告之,我的新作品《语音助手》上架Google Play了,欢迎下载体验