我正在尝试使用go编程语言创建REST API,以读取文本文件。
我想用gRPC构建它。
答案 0 :(得分:0)
您可以关注gRPC文档中的WorkingArea
。
基本流程如下:
1)编写数据结构的协议缓冲区定义和集成它们的gRPC服务定义:
package fileserver
message FileRequest {
string name = 1;
}
message FileResponse {
bytes contents = 1;
}
service FileServer {
rpc ReadFile (FileRequest) returns (FileResponse) {}
}
2)使用" protoc"生成gRPC / PB结合。工具(你需要" protoc-gen-go"以及)。命令通常是:
protoc --go_out=plugins=grpc:. *.proto
3)实施服务器:
type FileServer struct{}
func (s *FileServer) Dispatch(ctx context.Context, fileRequest *fileserver.FileRequest) (*fileserver.FileResponse, error) {
f, _ := ioutil.ReadFile(fileRequest.Name)
fileResponse := &fileserver.FileResponse{Contents: f}
return fileResponse, nil
}