随着学习的深入,越来越多的技术出现在我的视野中。现在越来越多的开发都是采用前后端分离模式,于是在学习的过程中也会出现许多的问题,就像今天记录的跨域问题。当然今天这个主要是为了记录后端如何解决跨域,毕竟现在网络上也有许多的解决跨域的方法(前端处理、后端处理)。
当然对于跨域问题的出现,大家可以自行去仔细研究下,这里我将会给出后端处理跨域的解决方案。
处理跨域
在后端新建一个文件夹config
,后面项目的需要的一些配置类都可以写在该文件夹里面。
新建一个GlobalCorsConfig
类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| package com.example.aircraftBackend.config;
import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.filter.CorsFilter;
@Configuration public class GlobalCorsConfig {
@Bean public FilterRegistrationBean corsFilter() { CorsConfiguration config = new CorsConfiguration(); config.addAllowedOriginPattern("*"); config.setAllowCredentials(Boolean.TRUE); config.addAllowedMethod("*"); config.addAllowedHeader("*"); config.addExposedHeader("*"); UrlBasedCorsConfigurationSource corsConfigurationSource = new UrlBasedCorsConfigurationSource(); corsConfigurationSource.registerCorsConfiguration("/**", config); FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(corsConfigurationSource)); bean.setOrder(0); return bean; } }
|
这里的注释还是比较清晰的,可以自行查阅。
到这里我们的跨域问题其实就已经解决了。