如何在生成的 grpc 类中覆盖 SERVICE_NAME
我有 2 个不同的原始文件,它们具有相同的包名称和相同的消息名称,因此当我尝试编译它们时 - 存在冲突
syntax = "proto3";
package foobar;
service API {
rpc Foo (FooReq) returns (FooRsp);
}
message FooReq {}
message FooRsp {
string Bar = 1;
}
syntax = "proto3";
package foobar;
service AnotherAPI {
rpc Foo (FooReq) returns (FooRsp);
}
message FooReq {}
message FooRsp {
string Bar = 1;
}
如果我尝试将其中一个包重命名为
package renamed.foobar;
生成的 AnotherAPIGrpc 类中的 SERVICE_NAME 则变得无效
public static final String SERVICE_NAME = "renamed.foobar.AnotherAPI";
,并且尝试时出错调用方法
io.grpc.StatusRuntimeException: UNIMPLMENTED:unknown service returned.foobar.AnotherAPI
如果我为两个原型添加不同的 option java_package
值,仍然存在错误,例如 协议失败:api1.proto:10:9:“foobar.FooReq”已在文件“api2.proto”中定义。
是否可以解决此问题?
I have 2 different proto files with same package names and same message names, so when I try to compile them - there are conflicts
syntax = "proto3";
package foobar;
service API {
rpc Foo (FooReq) returns (FooRsp);
}
message FooReq {}
message FooRsp {
string Bar = 1;
}
syntax = "proto3";
package foobar;
service AnotherAPI {
rpc Foo (FooReq) returns (FooRsp);
}
message FooReq {}
message FooRsp {
string Bar = 1;
}
If I try to rename one of the packages to
package renamed.foobar;
SERVICE_NAME in generated AnotherAPIGrpc class becomes invalid
public static final String SERVICE_NAME = "renamed.foobar.AnotherAPI";
and I have error on trying to call method
io.grpc.StatusRuntimeException: UNIMPLEMENTED: unknown service renamed.foobar.AnotherAPI
If I add different option java_package
values for both protos, there are still errors likePROTOC FAILED: api1.proto:10:9: "foobar.FooReq" is already defined in file "api2.proto".
Is it possible to fix this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论