zuul error过滤器中,统一异常怎么处理的?比如返回带code, msg, data属性的obj
来源:9-1 Zuul:Pre和Post过滤器

mohf3126361
2018-06-07
zuul error过滤器中,统一异常怎么处理的?比如返回带code, msg, data属性的obj
写回答
2回答
-
这个问题同学你问的比较好,但是不好意思你理解错了,zuul作为网关服务实质上也是一个服务(跟用户服务,订单服务一样),那么zuul的error过滤器其实是zuul服务这个应用本身抛出异常后才会进入这个过滤器,并不是别的服务抛出异常后会进入zuul的error过滤器。还有就是服务于服务之间通信是http协议,zuul服务http请求调用A服务,A服务httpResponse给zuul服务,不管A正常返回还是抛出异常返回都是返给zuul服务httpResponse。这里提供两种异常处理方案:1、每个服务都写异常捕获类。2、zuul服务在post过滤器(因为zuul调用其他服务发生在route过滤器,post在route之后)获取其他服务返回的httpResponse提取里面的异常信息(一般httpstatus为500的)然后把异常信息封装成你要的code,msg,data。希望能解决你的疑问,望采纳。20
-
mohf3126361
提问者
2018-06-11
第2种方法,怎样在zuul的post filter的reponse中获取route子路由(比如a服务实例)的异常信息(比如code和msg), 即通过filter返回子路由的原始错误信息?
00
SpringCloud Finchley(M2+RELEASE+SR2)微服务实战
SpringCloud组件实现微服务,【已升级Finchley.Release】
5672 学习 · 2489 问题
相似问题