一般我们在用feign调用接口的时候,如果服务提供方出现了异常,那么调用方一般会显示
feign.FeignException$BadRequest: status 400 reading
不考虑服务方宕机的情况,一般有异常都会抛出对应的信息,但是一般情况调用方是无法获取的。
通过测试我们发现,如果打印日志的话,是可以看到服务提供方抛出的日志,但是调用方捕获不了,只会报400异常。
所以如果要进行异常传递,我们可以有两种方式,但大部分是需要调用方做调整。
一、fallbackFactory
fallbackFactory就和标准的熔断降级差不多,可以把异常信息全部带过来,但是需要我们对异常做转换,常规的exception还是无法获取body部分的。
所以这里我们用FeignException强转,问题就迎刃而解了。
看,我们可以获取到服务端抛出的自定义错误了。
这时候再把json转bean就可以了。