當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring Boot 对CORS跨域访问的配置
生活随笔
收集整理的這篇文章主要介紹了
Spring Boot 对CORS跨域访问的配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Springboot 對于跨域請求的支持有兩種配置方式:
一:注解配置
? ? ?@CrossOrigin注解可以實現對CORS的啟用。
@RequestMapping("/get_api")@ResponseBody@CrossOriginpublic String Api() {return "get_api ";}?? ? ?@CrossOrigin中可以配置好幾種參數:
| 屬性 | 說明 |
| origins | 允許的來源列表。響應信息會放在HTTP協議Header的Access-Control-Allow-Origin中 -*- 所有的來源都被允許 --- 如果未定義,則允許所有來源) |
| allowedHeaders | 實際請求期間可以使用的請求頭列表。該值用于預檢的響應Header中的Access-Control-Allow-Headers信息。 -*- 意味著允許客戶端請求的所有頭信息。 --- 如果未定義,則允許所有請求的headers。 |
| methods | 服務器端支持的HTTP請求方法列表。? -*- 所有方法。 --- 如果未定義,則使用由RequestMapping注解定義的方法。 |
| exposedHeaders | 瀏覽器允許客戶端訪問的響應頭列表。 在實際響應報頭Access-Control-Expose-Headers中設置值。 –-- 如果未定義,則使用空的暴露標題列表。 |
| allowCredentials | 它確定瀏覽器是否應該包含與請求相關的任何cookie。 -false- 不允許包含Cookies 。 –true– 允許攜帶Cookies。 –""- (空字符串) 意味著未定義。 –-- 如果未定義,則允許所有憑據。 |
| maxAge | 預響應緩存持續時間的最大時間(以秒為單位)。 該值在Header的Access-Control-Max-Age中設置。 –-- 如果未定義, 最大時間設置為1800秒(30分鐘) |
?
配置參數方式類似這種
@CrossOrigin(origins = "http://localhost:8080", maxAge = 16800)?二:全局配置
CORS的全局配置代碼實現起來很簡單。新建一個CORS的配置類,實現WebMvcConfigurer接口。這樣每當客戶端發送請求的時候,都會在頭部附上跨域信息,就可以支持跨域訪問了。
import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;public class CorsConfiguration implements WebMvcConfigurer {@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**") //允許跨域訪問路徑.allowedOrigins("*") //允許跨域訪問的源.allowedMethods("GET", "POST", "PUT", "DELETE", "HEAD") //允許請求的方法.maxAge(16800) //預檢間隔時間.allowedHeaders("*") //允許頭部設置.allowCredentials(true); //是否發送cookie}}?
總結
以上是生活随笔為你收集整理的Spring Boot 对CORS跨域访问的配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 瑶是什么时候出的
- 下一篇: 得物网上商城(得物官网在哪)