如何创建一个rest API来使用gRPC读取文本或任何文件?

时间:2018-06-14 08:16:34

标签: api go grpc

我正在尝试使用go编程语言创建REST API,以读取文本文件。

我想用gRPC构建它。

1 个答案:

答案 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
}