2

我将 Armeria 1.3.0 和 protobuf 用于 gRPC 服务。我在处理异常时尝试使用丰富的错误模型,但我认为 Armeria 似乎只支持标准错误模型。

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

提前感谢您的回答。

4

1 回答 1

1

在 Armeria 1.5.0 之前,不可能将任意 gRPC 附加Metadata到 gRPC 错误响应,但您将能够从下一个小更新 (1.6.0) 开始这样做:

GrpcService
    .builder()
    .addExceptionMapping(MyException.class, (cause, metadata) -> {
        metadata.put(MY_KEY, myValue)
        return Status.XXX.withDescription("...");
    })
    ...

有关详细信息,请参阅https://github.com/line/armeria/pull/3329

于 2021-02-26T15:26:45.223 回答