Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Java读取proto3自定义选项_Java_Protocol Buffers_Grpc_Protobuf Java_Proto3 - Fatal编程技术网

如何从Java读取proto3自定义选项

如何从Java读取proto3自定义选项,java,protocol-buffers,grpc,protobuf-java,proto3,Java,Protocol Buffers,Grpc,Protobuf Java,Proto3,提供以下服务: message Message { string content = 1; } service EchoService { rpc echo (Message) returns (Message) { option (google.api.http) = { get: "/echo" }; } } 我想从Java中读取该选项。我的理解是以下代码应该可以工作: HttpRule rule = Message.getDescriptor() .getOpt

提供以下服务:

message Message {
  string content = 1;
}

service EchoService {
  rpc echo (Message) returns (Message) {
    option (google.api.http) = { get: "/echo" };
  }
}
我想从Java中读取该选项。我的理解是以下代码应该可以工作:

HttpRule rule = Message.getDescriptor()
  .getOptions()
  .getExtension(AnnotationsProto.http)
然而,这并没有编译,它抱怨无法解决方法的类型问题

我试着这样做:


所以问题是,如何从Java中读取选项?

这很尴尬,它实际上是一种完全不同的类型

AnnotationsProto.http
使用
MethodOptions
()

Message.getDescriptor().getOptions().getExtensions()
需要一个泛型为
MessageOptions
()

方法选项与消息选项-也许我需要深入到SpecSaver