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 表示支持的域名

你可能感兴趣的:(springboot解决跨域问题)