springboot配置跨域的方法是什么

   2025-02-15 9660
核心提示:Spring Boot配置跨域的方法有以下几种:使用注解:在Controller类或者方法上使用@CrossOrigin注解来配置跨域访问。可以通过设置o

Spring Boot配置跨域的方法有以下几种:

使用注解:在Controller类或者方法上使用@CrossOrigin注解来配置跨域访问。可以通过设置origins属性指定允许访问的域名,通过设置methods属性指定支持的HTTP方法,通过设置maxAge属性指定响应的最大生存时间(单位为秒)。

@RestController@RequestMapping("/api")@CrossOrigin(origins = "http://example.com", methods = {RequestMethod.GET, RequestMethod.POST}, maxAge = 3600)public class MyController {    // ...}

使用WebMvcConfigurer:通过实现WebMvcConfigurer接口,重写addCorsMappings方法来配置全局的跨域访问。可以通过调用addMapping方法指定允许访问的路径,通过调用allowedOrigins方法指定允许访问的域名,通过调用allowedMethods方法指定支持的HTTP方法,通过调用maxAge方法指定响应的最大生存时间(单位为秒)。

@Configurationpublic class CorsConfig implements WebMvcConfigurer {    @Override    public void addCorsMappings(CorsRegistry registry) {        registry.addMapping("/api/**")                .allowedOrigins("http://example.com")                .allowedMethods("GET", "POST")                .maxAge(3600);    }}

使用Filter:通过自定义一个Filter来处理跨域请求,设置响应的Access-Control-Allow-OriginAccess-Control-Allow-MethodsAccess-Control-Max-Age响应头。

@Componentpublic class CorsFilter implements Filter {    @Override    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {        HttpServletResponse response = (HttpServletResponse) res;        response.setHeader("Access-Control-Allow-Origin", "http://example.com");        response.setHeader("Access-Control-Allow-Methods", "GET, POST");        response.setHeader("Access-Control-Max-Age", "3600");        chain.doFilter(req, res);    }}

以上是Spring Boot配置跨域的几种方法,根据实际需求选择适合的方法进行配置。

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言