【发布时间】:2021-10-27 16:57:34
【问题描述】:
@Override
public void getResult(Request request, StreamObserver<Response> responseObserver) {
responseObserver.onNext(new Respons("check"));
responseObserver.onCompleted();
}
如何发送标头响应?
在 golang 中我可以通过这样做发送它,但在 java 中我不知道
func (s *server) SomeRPC(ctx context.Context, in *pb.someRequest) (*pb.someResponse, error) {
// create and send header
header := metadata.Pairs("header-key", "val")
grpc.SendHeader(ctx, header)
// create and set trailer
trailer := metadata.Pairs("trailer-key", "val")
grpc.SetTrailer(ctx, trailer)
}
【问题讨论】:
-
你想在响应头中发送什么?大多数元数据处理最好在拦截器中完成。
-
@EricAnderson 我有一个用例,我想在服务器端的响应标头中发送一些编码值,还有其他方法吗?
-
您基本上只是改写了“想要在响应标头中发送某些内容”,而没有任何进一步的上下文。我在问你的用例。这是什么类型的值,为什么需要进入响应头?
标签: grpc grpc-java proto grpc-go