先说一下自己手写一个springboot拦截器的代码
先在application启动的run中重写addInterceptions方法来拦截/coffee和/order请求
然后在performanceInteceptor继承HandlerInteception去重写里面的方法然后我们把方法中的内容进行随意编写比如afterCompletion方法我们进行获取时间差的打印
然后在通过postman进行访问会发现请求先走的是拦截器
那么拦截器Inteceptinon中是如何实现拦截的呢
其实主要还是上面说的首先在Inteception链中增加多个拦截器(也就是上面的addInterceptions方法过滤的多个Intecepter)然后去执行三个方法
1、preHandle(controler执行前执行,返回false标示后面的拦截器不用再执行,已经执行完毕)
2、postHandle(controler执行后,modelView渲染前)
3、aftercomlication(modelView渲染后 主要作用是清理资源)