找回密码
 立即注册
查看: 184|回复: 0

编译grpc-gateway

[复制链接]
发表于 2022-12-13 11:38 | 显示全部楼层 |阅读模式
1,执行protoc -I . --go_out=plugins=grpc,Mgoogle/protobuf/descriptor.proto=github.com/golang/protobuf/protoc-gen-go/descriptor:./server/ google/api/*.proto

若出现:--go_out: protoc-gen-go: plugins are not supported; use 'protoc --go-grpc_out=...' to generate gRPC错误,则需要安装protoc-gen-go,命令如下:go get github.com/golang/protobuf/protoc-gen-go

然后再重新protoc就可以得到对应的go文件,在google.golang.org下面

2,再执行protoc -I . --go_out=plugins=grpc,Mgoogle/api/annotations.proto=github.com/jergoo/go-grpc-example/proto/google/api:. ./server/server.proto命令,生成server的go文件

若出现protoc-gen-go: unable to determine Go import path for "server/server.proto"错误,则server.proto增加go_package字段,如:option go_package = "api";

若出现The import path must contain at least one forward slash ('/') character.错误,则修改go_package,如:option go_package = "./;api";

再执行protoc即可得到server.pb.go文件。

其中server.proto文件内容如下:

syntax = "proto3";

package api;

option go_package = "./;api";

import "google/api/annotations.proto";

message StringMessage {

string value = 1;

}

service MyService {

rpc Echo(StringMessage) returns (StringMessage) {

option (google.api.http) = {

     post: "/v1/example/echo"

     body: "*"

  };

  }

}

3,编译gateway,执行protoc --grpc-gateway_out=logtostderr=true:./server/ server/server.proto命令
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-24 16:39 , Processed in 0.086654 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表