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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!