类 ResultExceptionHandler


  • @GrpcAdvice
    @ConditionalOnProperty(prefix="yue.exception-handler",
                           name="enabled",
                           havingValue="true",
                           matchIfMissing=true)
    public class ResultExceptionHandler
    extends Object

    全局统一异常处理

    统一异常响应体使用HTTP状态码与GRPC状态码职责对照:

    HTTP状态码 GRPC状态码 异常范围
    4xx 3 INVALID_ARGUMENT 客户端错误
    5xx 13 INTERNAL 服务端异常
    600 12 UNIMPLEMENTED 业务提示
    从以下版本开始:
    2022年5月20日
    作者:
    ylyue
    • 构造器详细资料

      • ResultExceptionHandler

        public ResultExceptionHandler()
    • 方法详细资料

      • exceptionHandler

        @GrpcExceptionHandler(java.lang.Exception.class)
        public io.grpc.Status exceptionHandler​(Exception e)
        拦截所有未处理异常-13 INTERNAL
        参数:
        e - 异常
        返回:
        结果
      • bindExceptionHandler

        @GrpcExceptionHandler(org.springframework.validation.BindException.class)
        public io.grpc.Status bindExceptionHandler​(org.springframework.validation.BindException e)
        Valid 验证异常统一处理

        Grpc状态码:3 INVALID_ARGUMENT

        Http状态码:433

        参数:
        e - 验证异常
        返回:
        结果
      • validateExceptionHandler

        @GrpcExceptionHandler(cn.hutool.core.exceptions.ValidateException.class)
        public io.grpc.Status validateExceptionHandler​(cn.hutool.core.exceptions.ValidateException e)
        验证异常统一处理

        Grpc状态码:3 INVALID_ARGUMENT

        Http状态码:433

        参数:
        e - 验证异常
        返回:
        结果
      • statusRuntimeExceptionHandler

        @GrpcExceptionHandler(io.grpc.StatusRuntimeException.class)
        public io.grpc.Status statusRuntimeExceptionHandler​(io.grpc.StatusRuntimeException e)
        服务降级

        Grpc状态码:13 INTERNAL

        Http状态码:507

        参数:
        e - grpc请求异常
        返回:
        结果
      • convertExceptionHandler

        @GrpcExceptionHandler(cn.hutool.core.convert.ConvertException.class)
        public io.grpc.Status convertExceptionHandler​(cn.hutool.core.convert.ConvertException e)
        类型转换异常统一处理

        Grpc状态码:13 INTERNAL

        Http状态码:509

        参数:
        e - 转换异常
        返回:
        结果