SpringBoot中怎么处理跨域资源共享
在SpringBoot中处理跨域资源共享可以通过以下几种方式:
- 使用注解:可以在Controller类或者方法上使用@CrossOrigin注解来指定允许跨域请求的域名或者方法。
@CrossOrigin(origins = "http://example.com")@RestControllerpublic class MyController {// controller methods}
- 配置类:可以创建一个配置类来配置CORS(跨域资源共享)的相关信息。
@Configurationpublic class CorsConfig {@Beanpublic WebMvcConfigurer corsConfigurer() {return new WebMvcConfigurerAdapter() {@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedOrigins("http://example.com");}};}}
- 使用Filter:可以创建一个自定义的Filter来处理跨域请求。
@Componentpublic class CustomCorsFilter extends OncePerRequestFilter {@Overrideprotected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {response.setHeader("Access-Control-Allow-Origin", "http://example.com");filterChain.doFilter(request, response);}}
这些方法可以根据具体的需求选择其中一种或者多种来处理跨域资源共享。