SpringBoot2.0(五) CORS跨域


  • 部分跨域

@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);
}
};
}
}

就支持全局跨域了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM