温馨提示×

SpringBoot中怎么处理跨域资源共享

小亿
84
2024-04-09 18:31:37
栏目: 编程语言

在SpringBoot中处理跨域资源共享可以通过以下几种方式:

  1. 使用注解:可以在Controller类或者方法上使用@CrossOrigin注解来指定允许跨域请求的域名或者方法。
@CrossOrigin(origins = "http://example.com")
@RestController
public class MyController {
    // controller methods
}
  1. 配置类:可以创建一个配置类来配置CORS(跨域资源共享)的相关信息。
@Configuration
public class CorsConfig {
    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurerAdapter() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**").allowedOrigins("http://example.com");
            }
        };
    }
}
  1. 使用Filter:可以创建一个自定义的Filter来处理跨域请求。
@Component
public class CustomCorsFilter extends OncePerRequestFilter {
    @Override
    protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
        response.setHeader("Access-Control-Allow-Origin", "http://example.com");
        filterChain.doFilter(request, response);
    }
}

这些方法可以根据具体的需求选择其中一种或者多种来处理跨域资源共享。

0