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

968
2024/4/2 18:31:37
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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);
    }
}

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

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: docker怎么部署springboot