~部分跨域
@CrossOrigin註解支持類級別,方法級別添加。可以在controller類或者方法上添加,支持部分接口跨域。在兩者上都添加時,方法級別的覆蓋類級別的。
屬性 | 說明 |
origins | 允許的域列表,“*”表示支持所有的域 |
maxAge | 預響應緩存的最大持續時間,單位秒 |
allowedHeaders | 在實際請求中允許的請求頭列表,“*”表示允許所有的headers |
exposedHeaders | 在響應header中設置客戶端可見的header,該header不是常見的Cache-Control,Content-Language等,此處設置的header都來自於“Access-Control-Expose-Headers”中。 |
methods | 支持的HTTP請求方法集合 |
allowCredentials |
設置是否發送憑證,該值是在預請求的響應的“Access-Control-Max-Age”上設置的。該值決定在發起跨域請求時,瀏覽器是否需要發送憑證。 false — cookies不應該包括在內; "" — 意味着未定義,允許所有值; true — 預響應將包括值設置爲true的報頭Access-Control-Allow-Credentials |
~全局跨域
在springboot項目環境下,聲明如下bean:
@Configuration
public class ConfigService {
@Bean
public WebMvcConfigurer corsConfigurer()
{
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOrigins("*").allowedMethods("*").allowCredentials(true);
}
};
}
}