请教如何在拦截器中获取controlloer返回的内容,还有拦截器中after方法抛出自定义异常ex为空是不是这个ex只能捕获系统的异常?

请教大神如何在拦截器中获取controlloer返回的内容,还有拦截器中after方法抛出自定义异常ex为空是不是这个ex只能捕获系统的异常?

不管是请求体还是响应体,都是数据流,只能读取一次就没了。
你想读取到响应给客户的数据,那么可以用Filter,在请求之前,对HttpServletResponse进行包装,缓存一份响应给客户端的数据。在拦截器中,获取这份缓存即可。

after方法中的异常参数,就是执行hanlder时发生的异常。

1 个赞

请问在拦截器post方法可以这样操作吗?

不行。

试试@ResponseBodyAdvice看能否解决你的问题

1 个赞

可以的 后面也是找到这个方法完成的

1 个赞