聚合服务的接口,我们做了限流,做了鉴权,但是这个接口发生异常怎么办?
zuul我们做了全局的异常拦截,但是这个异常并不会针对我们自己定义的接口来做,我们需要自己定义一个全局的异常拦截,来处理这些自己写的接口。
首先我们需要自己定义一个公共的异常类,继承运行时异常,这个网上有很多资料可以参考,这些写一个。
公共异常类
接着,我们此时需要针对controller的异常拦截,主要还是采用@RestControllerAdvice这个注解来做,在这个统一异常拦截中,我们还编写针对自定义的接口中,入参对象的拦截,后面可以研究一下hibernate valid的入参校验,自己写了之后,不符合规则也会帮你一起拦截了。
接下来,我们来改造自定义的controller接口,不调用后端接口了,直接跑出异常进行测试
全局异常接口测试:
我们可以看到,直接抛出了我们自定义的接口信息。