#青训营笔记创作活动#
1月30日 day11
请求时,协议、域名、端口三者有任何一个不同就是跨域请求,跨域本身是浏览器的行为,初衷是为了保证用户的访问安全,防止恶意网站窃取数据,解决跨域问题就需要告诉浏览器这是安全的请求,需要在返回头中设置"Access-Control-Allow-Origin"参数,这个参数是用来表示允许跨域访问的原始域名的,设置为"*"则表示允许所有站点跨域访问。
Spring Boot中跨域可以使用@CrossOrigin注解实现跨域(类级别跨域+全局跨域,表示此类中所有的接口都可以跨域;方法级别跨域,表示此方法可以跨域);通过配置文件实现跨域(新文件中添加@Configuration注解实现WebMvcConfigurer接口,重写addCorsMappings方法,设置允许跨域的代码);通过CorsFilter对象实现跨域(与上一种类似,但是可以实现全局跨域);通过Response对象实现跨域(最原始、适用性最强的,是局部跨域,应用范围最小,设置的是方法级别的跨域);通过实现RespinseBodyAdvice实现跨域(重写ResponseBodyAdvice接口中的beforeBodyWrite对所有接口进行跨域设置,全局跨域,对项目中的所有接口有效)(过滤器实现跨域与此类似)。
1月30日 day11
请求时,协议、域名、端口三者有任何一个不同就是跨域请求,跨域本身是浏览器的行为,初衷是为了保证用户的访问安全,防止恶意网站窃取数据,解决跨域问题就需要告诉浏览器这是安全的请求,需要在返回头中设置"Access-Control-Allow-Origin"参数,这个参数是用来表示允许跨域访问的原始域名的,设置为"*"则表示允许所有站点跨域访问。
Spring Boot中跨域可以使用@CrossOrigin注解实现跨域(类级别跨域+全局跨域,表示此类中所有的接口都可以跨域;方法级别跨域,表示此方法可以跨域);通过配置文件实现跨域(新文件中添加@Configuration注解实现WebMvcConfigurer接口,重写addCorsMappings方法,设置允许跨域的代码);通过CorsFilter对象实现跨域(与上一种类似,但是可以实现全局跨域);通过Response对象实现跨域(最原始、适用性最强的,是局部跨域,应用范围最小,设置的是方法级别的跨域);通过实现RespinseBodyAdvice实现跨域(重写ResponseBodyAdvice接口中的beforeBodyWrite对所有接口进行跨域设置,全局跨域,对项目中的所有接口有效)(过滤器实现跨域与此类似)。
展开
评论
点赞