美文网首页
springboot配置跨域两种方式

springboot配置跨域两种方式

作者: CXY_XZL | 来源:发表于2020-11-17 21:49 被阅读0次

1.方式

  • 细粒度配置,即在方法上进行配置
  • 全局配置,即覆写WebMvcConfigureraddCorsMappings方法

2.代码

  • 细粒度配置
...
    @PostMapping("/delete/{id}")
    @CrossOrigin(value = "http://localhost:8081",maxAge = 1800,allowedHeaders = "*")
    public String deleteBook(@PathVariable Long id){
        return String.valueOf(id);
    }
...

解释:
在方法上添加@CrossOrigin注解
value - 表示支持的域。这里表示来自http://localhost:8081的请求是允许跨域的
maxAge - 表示探测请求的有效期。对于DELETEPUT或者自定义请求头的请求在执行请求前会先执行一个探测请求,探测请求不必每次都发送,可以设置一个有效期,有效期过了再重新发送探测请求,这里设置探测请求的有效期是1800s,即30min
allowedHeaders - 表示允许的请求头,*表示所有的请求头都被允许


-全局配置

@Configuration
public class MyWebMvcConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) { 
        //对那些请求路径进行跨域处理
        registry.addMapping("/book/**")
                //允许的请求头,默认允许所有的请求头
                .allowedHeaders("*")
                //允许的方法,默认允许GET、POST、HEAD
                .allowedMethods("*")
                //探测请求有效时间,单位秒
                .maxAge(1800)
                //支持的域
                .allowedOrigins("http://localhost:8081");
    }

}

相关文章

网友评论

      本文标题:springboot配置跨域两种方式

      本文链接:https://www.haomeiwen.com/subject/nqbfiktx.html