springboot解决跨域问题

一.直接在相应的请求方法上加注解

@RestController
public class BookController {

    @PostMapping("/add/book")
    @CrossOrigin(value = "http://localhost:8084",maxAge = 1600,allowedHeaaders = "*")
    public Object addBook(){
         return "book";
    }
}

CrossOrigin中的value表示支持的域,表示来自某个域的请求时支持跨域的。
maxAge表示请求的有效期。
allowedHeaaders表示允许的请求头,“*” 表示所有的请求头都被允许跨域。

二.通过配置类的方式解决

创建MvcConfigurer类,实现WebMvcConfigurer接口中的addCorsMappings方法

@Configuration
public class MvcConfigurer implements WebMvcConfigurer {
    /**
    * 配置跨域*
    * @param registry*
    */*
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
            .allowedHeaders("*")
            .allowedMethods("*")
            .maxAge(1800)
            .allowedOrigins("http://springboot3.com");
    }
}

addMapping 表示对哪种路径的请求进行跨域配置
allowedHeaders 表示允许的请求头,默认允许全部
maxAge 表示请求的有效期
allowedOrigins 表示支持的域名

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容