溫馨提示×

springboot跨域配置的方法是什么

小億
103
2024-01-22 09:59:15
欄目: 編程語言

在Spring Boot中配置跨域請求可以通過以下幾種方式:

  1. 使用全局配置類: 創建一個全局配置類繼承WebMvcConfigurerAdapter,并重寫addCorsMappings方法,定義允許跨域的路徑和請求方法。例如:
@Configuration
public class CorsConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowedMethods("GET", "POST", "PUT", "DELETE")
                .allowedHeaders("*")
                .allowCredentials(true);
    }
}
  1. 使用注解: 在Controller類或方法上添加@CrossOrigin注解來配置跨域請求。例如:
@RestController
@CrossOrigin(origins = "*", maxAge = 3600)
public class MyController {

    // ...
}

注解中的origins屬性指定允許跨域請求的來源,可以使用通配符*表示允許所有來源。maxAge屬性指定預檢請求的有效期,單位為秒。

  1. 使用Filter: 創建一個實現javax.servlet.Filter接口的Filter類,在doFilter方法中添加跨域請求的配置。例如:
@Component
public 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", "*");
        response.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
        response.setHeader("Access-Control-Allow-Headers", "*");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Credentials","true");
        chain.doFilter(req, res);
    }

    // ...
}

以上是幾種常用的Spring Boot跨域配置方法,根據具體的需求選擇適合的方式來配置跨域請求。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女