学习springboot的旅程,就像蜗牛爬山,一点点的往上爬,一点点的欣赏旅途的风景
上一章 搭锅起火,准备好环境了。现在,我们该开始煮美食了。
开始前,请思考一下
-
请求是不是可以归类?(以下请求分类纯属个人见解!)
- 请求静态资源:例如 图片,脚本文件,样式文件等
- 请求数据:请求执行业务逻辑后返回的状态或结果数据,请求页面展示数据等
- 请求视图:请求页面 现在都很流行前后分离了,这样的背景下跨域是很常见的。
- 问题一:怎么解决跨域请求?
- 问题二:假设你有静态资源情况下,怎么配置?
跨域请求设置
- 思路:写个Filter拦截器,拦截所有请求,并设置跨域请求的范围等
- 但是springboot怎么搞?这里就需要引入一个好玩的东西:CORS过滤器
CORS过滤器:实现了标准 javax.servlet.Filter 接口。它拦截传入的HTTP请求,如果将它们标识为跨域,则在将HTTP请求传递到实际目标(Servlet,JSP,静态XML / HTML文档)之前,将应用适当的CORS策略和标头。
-
那怎么用:
- 第一步实现跨域逻辑
- 第二步加入springboot拦截链(springmvc 支持 cors ,具体原理看这)
-
代码实现:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework