SpringBoot中实现跨域的几种常用方式

2023-12-15 23:25:54

在SpringBoot中实现跨域请求可以通过以下几种方式:

1. 使用@CrossOrigin注解,可以直接在Controller层的方法上使用,用来指定允许跨域请求的来源、方法和头信息。例如:
@CrossOrigin(origins = "http://localhost:8080")
@RestController
@RequestMapping("/api")
public class TestController {
    @GetMapping("/hello")
    public String hello() {
        return "Hello, World!";
    }
}
2. 使用WebMvcConfigurer配置类来配置全局的跨域请求。例如:
@Configuration
public class CorsConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/api/**")
                .allowedOrigins("http://localhost:8080")
                .allowedMethods("GET", "POST", "PUT", "DELETE")
                .allowedHeaders("Authorization");
    }
}
3. 使用CorsFilter过滤器来处理跨域请求。例如:
@Component
public class CorsFilter implements Filter {
    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        HttpServletResponse res = (HttpServletResponse) response;
        res.setHeader("Access-Control-Allow-Origin", "http://localhost:8080");
        res.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
        res.setHeader("Access-Control-Allow-Headers", "Authorization");
        chain.doFilter(request, response);
    }
}

以上是在Spring Boot中实现跨域请求的几种方式,可以根据具体的需求选择适合的方式来实现跨域请求。

文章来源:https://blog.csdn.net/qq_44577699/article/details/134925616
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。