Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.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
Exception 有没有办法在armeria为grpc服务使用富错误模型?_Exception_Grpc_Armeria - Fatal编程技术网

Exception 有没有办法在armeria为grpc服务使用富错误模型?

Exception 有没有办法在armeria为grpc服务使用富错误模型?,exception,grpc,armeria,Exception,Grpc,Armeria,我正在使用Armeria 1.3.0和protobuf进行gRPC服务。 我曾尝试在处理异常时使用,但我认为Armeria似乎只支持标准错误模型 如何在Armeria中使用丰富的错误模型?我想返回自定义错误代码/消息以及发生异常时有关错误的更多详细信息 感谢您提前回答。在Armeria 1.5.0之前,无法将任意gRPC元数据附加到gRPC错误响应,但您可以在下一次小更新(1.6.0)中执行此操作: GrpcService .builder() .addExceptionMapping(MyEx

我正在使用Armeria 1.3.0和protobuf进行gRPC服务。 我曾尝试在处理异常时使用,但我认为Armeria似乎只支持标准错误模型

如何在Armeria中使用丰富的错误模型?我想返回自定义错误代码/消息以及发生异常时有关错误的更多详细信息


感谢您提前回答。

在Armeria 1.5.0之前,无法将任意gRPC
元数据
附加到gRPC错误响应,但您可以在下一次小更新(1.6.0)中执行此操作:

GrpcService
.builder()
.addExceptionMapping(MyException.class,(原因,元数据)->{
metadata.put(MY_键,myValue)
返回状态.XXX.withDescription(“…”);
})
...

有关详细信息,请参见。

Hi!什么是富模式?看起来像这样:没错。根据这个链接,有一个使用google protobuf的例子是的,你是否尝试在
元数据中指定这样的信息?我认为这在Armeria中应该是可行的。我尝试过使用元数据,但只有在与responseObserver.onError方法一起使用时才有可能,GrpcService.Builder的Mapping也不例外。exceptionMapping方法只返回Status,所以我尝试这样做,
返回Status.INTERNAL.asRuntimeException(metadata.getStatus()
但是metadata.get方法在grpc客户端返回null。