在使用spring中有时候需要在filter中做一些全局的校验,比如验证token是否合法,不合法需要抛异常。但是如果姿势不对就会和跨越的CorsWebFilter执行顺序不一致导致跨域。
如何解决:可以使用@Order注解把跨域的filter执行顺序提前就可以了。
原理:
WebHttpHandlerBuilder 中
使用了DefaultListableBeanFactory
AnnotationAwareOrderComparator
其实原理很简单 就是 拿到注解(@Order)或者实现Order接口的值,然后进行排序