部分请求报 CROS ERROR

当我在写系统时,发现/post/list请求报错跨域问题。但是/login,logout请求能通过。报错为下:

于是开始找文档,最开始以为是后端跨域配置导致的(但是仔细一想,发现/login又能够通过):

然后我试着把前端的跨域加进去,但是依旧报之前的错:

最后,发现是拦截器的原因,因为在拦截器中设置了拦截条件,正常放行的只有login,logout请求。然而post/list并没有放行,需要通过写的interceptor进行校验,很明显写的前端请求是没有通过校验的,因为最开始我写的请求headers要携带Authrazation:

这个请求并没有携带后端需要的校验头:

所以,为了通过校验,我在前端头中加入了headers:

但是依旧没有通过还是报错无法通过校验,通过查询,发现浏览器第一次请求为OPTIONS预检,并且预检是不会携带请求头的,所以还是会跨域失败,因此只要在放行条件中加入这行代码就能顺利通过了:

总结:当在拦截器设置了通过headers条件,要在注册的interceptor中添加OPTIONS放行条件,否则依旧会报跨域失败

相关推荐
洋洋技术笔记3 小时前
Spring Boot Web MVC配置详解
spring boot·后端
初次攀爬者21 小时前
Kafka 基础介绍
spring boot·kafka·消息队列
用户8307196840821 天前
spring ai alibaba + nacos +mcp 实现mcp服务负载均衡调用实战
spring boot·spring·mcp
Java水解1 天前
SpringBoot3全栈开发实战:从入门到精通的完整指南
spring boot·后端
初次攀爬者2 天前
RocketMQ在Spring Boot上的基础使用
java·spring boot·rocketmq
花花无缺2 天前
搞懂@Autowired 与@Resuorce
java·spring boot·后端
Derek_Smart2 天前
从一次 OOM 事故说起:打造生产级的 JVM 健康检查组件
java·jvm·spring boot
Nyarlathotep01132 天前
SpringBoot Starter的用法以及原理
java·spring boot
dkbnull3 天前
深入理解Spring两大特性:IoC和AOP
spring boot
洋洋技术笔记3 天前
Spring Boot条件注解详解
java·spring boot