gpt4 book ai didi

nestjs - HTTP 和 RPC 之间的共享异常

转载 作者:行者123 更新时间:2023-12-05 07:38:43 25 4
gpt4 key购买 nike

嗨,

我们有一个 NestJS 应用程序,它可以通过 HTTP 和 gRPC(使用自定义 RPC 策略)访问。

虽然它们不共享相同的路由,但它们共享一些代码。例如,从数据库中查找资源的服务。我们最初关注the documentation并使用异常过滤器来管理 HTTP 响应状态代码。这意味着当找不到资源时,服务会抛出一个 NotFoundException 实例。

但是现在我们正在尝试与 RPC 异常处理程序集成,我们发现任何类型的异常,如果不是 RpcException 的实例,都会被 RPC 微服务视为内部服务器错误,包括 HttpExceptions。

查看文档和源代码后,我找不到在这两个微服务之间正确共享异常的方法,但我可能完全错了。

有没有办法在 HTTP 和 RPC 服务之间共享代码,同时仍然通过这两种协议(protocol)准确报告异常?

最佳答案

您可以将全局异常过滤器/或拦截器绑定(bind)到 gRPC 微服务,这将转换每个抛出的 HttpException。目前,每种传输类型都没有通用的异常类。

关于nestjs - HTTP 和 RPC 之间的共享异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47756819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com